思考
构造函数是一个特殊的函数
是否可以直接调用?
是否可以在构造函数中调用构造函数?
直接调用构造函数的行为是什么?
答案
直接调用构造函数将产生一个临时对象
临时对象的生命周期只有一条语句的时间
临时对象的作用域只在一条语句中
临时对象是c++中值得警惕的灰色地带
小结
直接调用构造函数将产生一个临时对象
临时对象时性能的瓶颈,也是bug的来源之一
现代c++编译器会尽力避开临时对象
实际开发中需要人为的避开临时对象
思考
构造函数是一个特殊的函数
是否可以直接调用?
是否可以在构造函数中调用构造函数?
直接调用构造函数的行为是什么?
答案
直接调用构造函数将产生一个临时对象
临时对象的生命周期只有一条语句的时间
临时对象的作用域只在一条语句中
临时对象是c++中值得警惕的灰色地带
小结
直接调用构造函数将产生一个临时对象
临时对象时性能的瓶颈,也是bug的来源之一
现代c++编译器会尽力避开临时对象
实际开发中需要人为的避开临时对象