2010-04-16 9 views
10

Tengo una clase que tiene un miembro estático. Según tengo entendido, todos los miembros estáticos son comunes para todas las instancias de la clase, lo que significa que a los miembros estáticos se les asignaría memoria solo una vez. ¿Dónde se asigna esta memoria (pila o montón) y cuándo se asigna esta memoria?cuando el miembro estático obtiene memoria

EDIT: Esta memoria es diferente de una memoria de nivel de instancia. ¿Cómo se hace referencia a esta memoria? ¿Esta memoria se asigna en el momento de la compilación?

+3

posible duplicado de http://stackoverflow.com/questions/337019/hows-memory-allocated-for-a-static-variable – James

Respuesta

0

Esta memoria está asignada en el montón. Cada tipo tiene un constructor estático que realiza la inicialización del tipo. Se ejecuta antes de acceder al tipo.

+0

Esta memoria es diferente de una memoria de nivel de instancia. Cómo se hace referencia a esta memoria. y ¿Esta memoria se asigna en el momento de la compilación? –

1

La asignación de memoria para miembros estáticos se realiza solo cuando el tipo se utiliza por el tiempo, ya sea como declaración de una variable o acceso a un miembro estático.

Como ya se mencionó, la asignación de memoria para miembros estáticos se realiza en el montón.

Cuestiones relacionadas