19.临时对象什么时候产生? 隐式类型转换时,或函数返回对象时。 具体说就是,by value传递或是reference to const发生隐式类型转换。 20.消除临时对象之函数返回对象时 A fun(const A &lhs,const A& rhs){ return A(lhs); } A a=fun(xx,xx);//只会调用一次A的构造函数 一般return会返回一个临时对象,并复制一份。但是编译器会优化这种写法,不会产生临时对象,也不会复制,只会调用一次A的构造函数。