C++左右值及引用类型关系
2016-05-22 00:00
363 查看
1、左值:具名变量、左值引用、右值引用
int i = 0; //i为左值
int &lref = i; //lref为左值
int && rref = 0; //rref为左值
2、右值:立即数、临时变量
0 //右值
std::string() //生成string类型的临时变量,右值
左值引用可以绑定左值,const左值引用还可以绑定右值
int &lref = i; //左值引用绑定左值
const int &lref = 0; //const左值绑定右值
右值引用只能绑定右值,绑定完毕后右值引用即成为左值
int && rref = 0; //ok
int &&rref2 = rref; //error.右值引用不能绑定左值
std::string &&r_string = std::string(); //ok
int i = 0; //i为左值
int &lref = i; //lref为左值
int && rref = 0; //rref为左值
2、右值:立即数、临时变量
0 //右值
std::string() //生成string类型的临时变量,右值
左值引用可以绑定左值,const左值引用还可以绑定右值
int &lref = i; //左值引用绑定左值
const int &lref = 0; //const左值绑定右值
右值引用只能绑定右值,绑定完毕后右值引用即成为左值
int && rref = 0; //ok
int &&rref2 = rref; //error.右值引用不能绑定左值
std::string &&r_string = std::string(); //ok
相关文章推荐
- C++函数模板参数推断
- C++ 服务端 性能优化
- VS2010 MFC C++ 弹出窗口
- leetcode #20 in cpp
- 大数的运算
- c语言sscanf使用正则表达式
- c++实验6-数组操作
- 带你玩转Visual Studio——性能分析与优化
- 用C/C++实现一个日期类,重载运算符=,==,+,-,++,--,>,>=,<,<=等
- vs2010 c++ CString to long
- 彻底搞定C语言指针详解
- C++总结:C++中的const和constexpr
- 1010. 一元多项式求导 (25)
- c语言实例之数列排序
- 【C++专题】static_cast, dynamic_cast, const_cast探讨
- C++的初始化列表(Initilization List)
- 【转载】Qt Quick 之 QML 与 C++ 混合编程详解
- c++作业6
- 编码规范-如何写个优美的C++类
- 【步兵 c++】当模版遇上二进制