1

Referring to the thread here: C++ object creation and constructor, the sentence Foo obj = Foo(1); should involve two object creations: one invoking Foo(int), the other Foo(const Foo&), namely copy-ctor.

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

...
Foo obj = Foo(1);

The above code only prints "Foo(int) called". How does it work in this case? Since I add printing functions in the ctors, it shouldn't be optimized out by the compiler, right?

Community
  • 1
  • 1
Neo1989
  • 285
  • 3
  • 14

0 Answers0