分析这段代码构造函数和析构函数的调用顺序
小于 1 分钟
分析这段代码构造函数和析构函数的调用顺序

- 注意返回临时对象或用临时对象构造对象时,会被编译器优化
- 别忘了第六步s的析构
因此优化一下:
string fun(string& s1, string& s2) {
return s1 + s2;
}
int main() {
string s = fun(s1, s2);
}
对于对象的优化:
对象作为参数,传递时按
返回对象是,不要先定义在返回
接收返回值是对象的函数调用,优先按方式接收,不要按赋值方式接收
string s; s = fun(s1, s2); //不要这样写