/** * 书本:【ThinkingInC++】 * 功能:论const对函数返回值的作用 * 时间:2014年9月7日14:14:57 * 作者:cutter_point */ class X { int i; public: X(int ii=0); void modify(); }; X::X(int ii) { i=ii; } void X::modify() { i++; } X f5() { return X(); //一个对象,默认构造函数,返回的是一个左值,可以被赋值修改 } const X f6() { return X(); //返回const类型的 } void f7(X& x) { x.modify(); } int main() { f5()=X(1); f5().modify(); //! f7(f5()); //这里是引用,C++中不能编译通过的原因是参数传递会建立一个副本 //! f6()=X(1); //返回的是const类型的不能改变值 //! f6().modify(); //! f7(f6()); //这里参数是一个引用,非const的引用 return 0; }
【ThinkingInC++】40、论const对函数返回值的作用
原文地址:http://blog.csdn.net/cutter_point/article/details/39119607