Suponga que un número entero y un puntero ocupan 4 bytes cada uno. Además, suponga que no hay alineación en los objetos.
Prediga la salida siguiente del programa.
#include<iostream> using namespace std; class Test { static int x; int *ptr; int y; }; int main() { Test t; cout << sizeof(t) << " "; cout << sizeof(Test *); }
(A) 12 4
(B) 12 12
(C) 8 4
(D) 8 8
Respuesta: (C)
Explicación: para un compilador donde los punteros toman 4 bytes, la instrucción “sizeof(Test *)” devuelve 4 (tamaño de el puntero ptr).
La instrucción “sizeof(t)” devuelve 8. Dado que static no está asociado con cada objeto de la clase, obtenemos (8 no 12).
Cuestionario de esta pregunta
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA