Il s'agit d'une question de test d'entretien C++ et non d'un devoir.
#include <iostream>
using namespace std;
enum months_t { january, february, march, april, may, june, july, august, september,
october, november, december} y2k;
int main ()
{
cout << "sizeof months_t is " << sizeof(months_t) << endl;
cout << "sizeof y2k is " << sizeof(y2k) << endl;
enum months_t1 { january, february, march, april, may, june, july, august,
september, october, november, december} y2k1;
cout << "sizeof months_t1 is " << sizeof(months_t1) << endl;
cout << "sizeof y2k1 is " << sizeof(y2k1) << endl;
}
Sortir:
sizeof month_t est 4 la taille de y2k est de 4 sizeof month_t1 est 4 la taille de y2k1 est de 4
Pourquoi la taille de tous ces 4 octets ? Pas 12 x 4 = 48 octets ? Je sais que les éléments d'union occupent le même emplacement mémoire, mais il s'agit d'une énumération.