esta es una pregunta realmente simple pero no he hecho C++ correctamente durante años y estoy un poco desconcertado por esto. Además, no es lo más fácil (al menos para mí) buscar en Internet, no por intentarlo.C++ Objeto sin nuevo
¿Por qué no utiliza la palabra clave new
y cómo funciona?
Básicamente, ¿qué está pasando aquí?
CPlayer newPlayer = CPlayer(position, attacker);
Brillante, gracias. –
En realidad, el compilador probablemente lo optimice. En ese caso, no se llamará al constructor de copias. http://stackoverflow.com/questions/1758142/why-copy-constructor-is-not-called-in-this-case – BostonLogan
Una asignación en una declaración no es menos eficiente que usar la sintaxis del constructor. Si hubieran sido declaraciones separadas, entonces el comentario sobre los temporales sería correcto. La esencia es que esto declara un CPlayer (generalmente en la pila) en lugar de asignarle espacio desde la tienda gratuita (montón). –