I am learning about automatic conversions in Accelerated C++, and the author states that the copy constructor is always called when you have a statement of the form
myClass myVar = 24;
Additionally he states that when you have statements of the form
myClass myVar;
myVar = 24;
what actually happens is that the myClass constructor that takes an integer as an argument is called to create an unnamed temporary variable of the type myClass, and then the assignment operator is called. The book was written in the year 2000, I believe. My question is whether or not these claims are still true. I learned about the move constructor and move assignment operations elsewhere, and I was wondering if those were called instead of the assignment operator/copy constructor.
Thank you for your time. I really appreciate it.