struct my { my(){ std::cout<<"Default";} my(const my& m){ std::cout<<"Copy";} ~my(){ std::cout<<"Destructor";} }; int main() { my m(); //1 my n(my()); //2 } Rendimiento esperado : 1 ) Default 2 ) Copy Salida real: ¿Qué hay de malo en mi comprensión del mecanismo de invocación del constructor? Note que he omitido los archivos de cabecera por […]
Este código no se comporta como lo espero. #include using namespace std; class Class { Class() { cout<<"default constructor called"; } ~Class() { cout<<"destrutor called"; } }; int main() { Class object(); } Esperaba que se llamara al ‘constructor predeterminado’ de salida, pero no vi nada como salida. ¿Cuál es el problema?
¿Hay alguna buena razón para que un conjunto vacío de corchetes (paréntesis) no sea válido para llamar al constructor predeterminado en C ++? MyObject object; // ok – default ctor MyObject object(blah); // ok MyObject object(); // error Parece que escribo “()” automáticamente cada vez. ¿Hay alguna buena razón por la que esto no está […]