标签:
临时对象(无法作为左值,即对象类型为const类型)产生的时期:
1. 以值的方式给函数传参;
2. 类型转换;
3. 函数返回一个对象时;
使用:
string foo();
void bar(string& s);
bar(foo()); //编译错误
bar("hello world"); //编译错误
解释:
1. foo()和"hello world"都会产生一个临时对象,类型为const;
2. 因此,将一个const类型的对象转换为非const类型的对象时非法的。
标签:
原文地址:http://www.cnblogs.com/hj-blog/p/4436976.html