在《Effective C++》一书中,第27条建议。
class Widget {
public:
explicit Widget(int size);
...
};
void doSomeWork(const Widget& w);
doSomeWork(Widget(15)); // create Widget from int
// with function-style cast
我不确定当调用doSomeWork函数时发生了什么。我想函数doSomeWork的参数w是通过另一个Widget对象使用复制构造函数进行初始化的,但是其他Widget对象在哪里?它是否是由注释所示的强制转换创建的临时对象?有人能详细告诉我当doSomeWork函数参数被初始化时发生了什么吗?
Widget
构造函数的调用吗? - Kane