I was looking into move semantics in C++11, and got to the part where something like:
SomeClass bar = createSomeClass(); //creates some object of SomeClass
foo(bar);
foo(createSomeClass());
I know that in the first foo
the compiler will call SomeClass
's copy constructor and the second foo
the compiler will call an overloaded move constructor since createSomeClass()
returns an R-value.
What if I don't have a copy constructor declared at all? How does the compiler actually know how to copy these objects then?
Aucun commentaire:
Enregistrer un commentaire