非const引用不能绑定非左值(no-lvalue)
来源:互联网 发布:洛奇英雄传a卡优化 编辑:程序博客网 时间:2024/05/08 23:51
对于一个const T&的初始式不必是一个左值,甚至可以不是类型T,但是非const引用不能绑定非左值(no-lvalue)
非const引用
double &dr =1; //错误:要求左值
const引用
const double &dr=1; //OK
对于const引用的解释:
double temp=double(1); //首先建立一个具有正确值的临时变量
const double &dr=temp; //而后用这个临时变量作为dr的初始式
例如:
#include <iostream>
#include <string>
using namespace std;
void TestFuncOne(const string & str)
{
cout<<str<<endl;
return;
}
void TestFuncTwo(string & str)
{
cout<<str<<endl;
return;
}
int main()
{
TestFuncOne("Hello World!"); //正确
TestFuncTwo("Hello World!"); //错误 非const引用不能绑定非左值(no-lvalue)
return 0;
}
非const引用
double &dr =1; //错误:要求左值
const引用
const double &dr=1; //OK
对于const引用的解释:
double temp=double(1); //首先建立一个具有正确值的临时变量
const double &dr=temp; //而后用这个临时变量作为dr的初始式
例如:
#include <iostream>
#include <string>
using namespace std;
void TestFuncOne(const string & str)
{
cout<<str<<endl;
return;
}
void TestFuncTwo(string & str)
{
cout<<str<<endl;
return;
}
int main()
{
TestFuncOne("Hello World!"); //正确
TestFuncTwo("Hello World!"); //错误 非const引用不能绑定非左值(no-lvalue)
return 0;
}
- 非const引用不能绑定非左值(no-lvalue)
- lvalue & const
- 临时对象不能被绑定到非const引用参数上====》扩展到临时对象问题
- 由重建二叉树算法题到临时对象不能绑定到非 const 的左值引用
- const,引用,const引用,非const引用
- cons对象/指针/引用,不能调用非const成员函数
- C++非const的引用不能指向临时对象
- 非const引用
- no known conversion for argument 1 from ‘[some_class]' to ‘[some_class]&’ 传const引用而非引用
- const 类型的函数不能返回非const类型的引用
- const 类型的函数不能返回非const类型的引用
- const引用和非const引用
- const引用与非const引用
- c++ const引用和非const引用
- const引用和非const引用
- const 引用 和 非 const 引用
- const引用与非const引用
- const引用与非const引用
- .NET系统学习----Globalization & Resources
- dxperience7.1.3中的XGridControl使用细节(转自C#之旅 )
- Dxexpress 的GridControl控件中一次选择一行并且不显示单元格焦点的设置 (转自C#之旅)
- 使用Sql时应注意的问题
- super
- 非const引用不能绑定非左值(no-lvalue)
- 3bac运作平台的一些心得
- AMD 双核CPU补丁下载及安装方法 (转)
- WPF中使用InPlaceBitmapMetadataWriter在图片中插入元数据(metadata)
- 质量保证:是否应该保持一个独立的组织
- 关于第四代白盒测试
- VPTR与构造函数和继承
- sql关联表选择的一个例子
- Windows小技巧:如何把安全模式选项加入启动菜单