在阅读教材中的内容后,我有点困惑。关于代码:这是铸造还是建筑?
void doSomeWork(const Widget& w)
{
//Fun stuff.
}
doSomeWork(Widget(15));
doSomeWork()
需要const Widget&
参数。教科书Effective C++ III指出这会创建一个临时Widget对象传递给doSomeWork。它说,这可以被替换为:
doSomeWork(static_cast<Widget>(15));
为两个版本的石膏 - 第一仅仅是一个函数,C风格六名演员。我会认为Widget(15)
会调用一个构造函数来获取一个整数参数。
在这种情况下执行构造函数吗?
@Constantinius:究竟是什么错误? – AnT
我编辑了你的答案。 – 2011-09-30 15:11:27