构造&拷贝构造的N中调用情况

来源:互联网 发布:软件开发常用英语 编辑:程序博客网 时间:2024/05/18 00:51

C++对传参合传返回值时构造的优化处理

1.C++对传参时要生成一个临时变量,调用一次构造函数;

2.再调用一次拷贝构造函数将临时变量复制给实参,也就是传参过程至少调用一次构造函数和一次拷贝构造函数;

3.对于传引用时,编译器会自动优化,不需生成临时变量,因为形参出了作用域还存在,所以不需要调用拷贝构造函数;

4.如果还有赋值运算,编译器将拷贝构造和赋值运算合并为一步。






再完成下面的题目:
Test1中调用了 2 次AA的拷贝构造函数, 1 次AA的赋值运算符函数的重载。
Test2中调用了 2 次AA的拷贝构造函数, 0 次AA的赋值运算符函数的重载。
Test3中调用了 3 次AA的拷贝构造函数, 0 次AA的赋值运算符函数的重载。

class AA{};AA f (AA a){return a ;}

原创粉丝点击