跳至主要內容

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

张威小于 1 分钟c/c++c++补充

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

  • 注意返回临时对象或用临时对象构造对象时,会被编译器优化
  • 别忘了第六步s的析构

因此优化一下:

string fun(string& s1, string& s2) {
	return s1 + s2;
}

int main() {
	string s = fun(s1, s2);
}

对于对象的优化:

  1. 对象作为参数,传递时按

  2. 返回对象是,不要先定义在返回

  3. 接收返回值是对象的函数调用,优先按方式接收,不要按赋值方式接收

    string s;
    s = fun(s1, s2); //不要这样写