Me pregunto cómo las variables estáticas de los miembros se implementan típicamente en lenguajes como C++ y si su uso afecta el tamaño de los objetos instanciados.¿Cómo afectan las variables de miembro estático al tamaño del objeto?
Sé que un miembro estático es compartido por todas las instancias de esa clase, pero ¿cómo se comparte? Si afecta el tamaño del objeto, ¿tendría 10 variables estáticas agregando más tamaño que 1?
Lo digo porque puedo pensar en dos formas en que se puede implementar:
- añadiendo un puntero a datos estáticos a cada objeto similar a la forma en que algunas implementaciones añaden un puntero a la tabla de función virtual
- los datos estáticos se acaba de hacer referencia directamente como una variable global con el desplazamiento de ser resuelto por el enlazador/cargador
Este es el tipo de pregunta que podría hacerse fácilmente. Solo crea las clases apropiadas y haz sizeof (T) te dirá qué tan grandes son. –
@Martin York: AFAIK, no hay operador sizeof en Java. –
[in-java-cuál-es-la-mejor-manera-de-determinar-el-tamaño-de-un-objeto] (http://stackoverflow.com/questions/52353/in-java-what-is -la mejor manera de determinar el tamaño de un objeto) –