如何`Foo obj = Foo(1)`工作

时间:2014-06-13 07:34:07

标签: c++ constructor

请参阅此处的主题:C++ object creation and constructor,句子Foo obj = Foo(1);应包含两个对象创建:一个调用Foo(int),另一个调用Foo(const Foo&),即copy-ctor。 / p>

class Foo{
    Foo(const Foo&){ //print "Foo(const Foo&) called" }
    Foo(int i){//print "Foo(int) called" }
    ...
}

...
Foo obj = Foo(1);

上面的代码只打印“Foo(int)called”。在这种情况下它是如何工作的?由于我在ctors中添加了打印功能,因此编译器不应对其进行优化,对吧?

0 个答案:

没有答案