es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Momento de asignación de memoria de la clase

Desde el enlace a continuación Diferencia entre Definición y Declaración se dice que:

La definición de una variable indica dónde se almacena la variable. Es decir,
la memoria para la variable se asigna durante la definición de la
variable.

Y según mi conocimiento, la declaración de una clase se ve así:

class stu ; 

Y la definición de una clase se ve así:

class stu{
   public:
        int x; 
};

Por lo tanto, según la información anterior, la asignación de memoria de esta clase debería ocurrir cuando escribo la definición completa de la clase. Sin embargo,
desde este enlace se indica lo siguiente:

La memoria se asignará cuando crees una instancia de la clase.

Lo que significa que la memoria se asignaría en el momento en que escribo

stu s;

Entonces me gustaría saber el momento exacto en que se asigna la memoria para esta clase, en otras palabras, ¿ocurre durante el tiempo de compilación o en tiempo de ejecución?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Según las fuentes citadas, la asignación de memoria para una clase en C++ ocurre en tiempo de ejecución cuando se crea una instancia de la clase. La declaración de una clase solo informa al compilador sobre la existencia de la clase, y se necesita la definición completa de la clase para determinar el tamaño y diseño de los miembros de la clase. Sin embargo, la asignación de memoria real para la clase no ocurre hasta que se crea una instancia de la clase durante la ejecución del programa.

Comments are closed.