Now that you understand the basics of the
reference in C++, you’re ready to tackle one of the more confusing
concepts in the language: the
copy-constructor, often called
X(X&) (“X of X ref”). This constructor is essential to
control passing and returning of user-defined types by value during function
calls. It’s so important, in fact, that the compiler will automatically
synthesize a copy-constructor if you don’t provide one yourself, as you
will
see.