Puis-je définir la taille d'une énumération en c ++?
De ce que je sais (ce que j'ai lu dans le rpc-programmation-langage) la taille serait la taille de "certains type intégral qui peut tenir sa gamme et n'est pas plus grand que sizeof(int), à moins qu'un agent recenseur ne peut pas être représenté comme un int ou unsigned int".
Mais est-il possible de définir la taille d'une certaine façon? Par exemple, je voudrais utiliser un enum dont sizeof est la taille naturelle de la parole (généralement de type unsigned long).
source d'informationauteur mageta
Vous devez vous connecter pour publier un commentaire.
Vous pouvez en C++11:
(Vous pouvez spécifier la taille d'un enum, soit pour le style ancien
enum
ou le nouveau styleenum class
.)Vous pouvez également augmenter la taille minimale d'un enum par le plaisir de la tricherie, profitant de la dernière phrase de la phrase que vous avez cité:
...ce qui permettra de s'assurer que l'enum est d'au moins 32 bits.
En C++11, vous pouvez utiliser un enum classe, où vous pouvez spécifier le type sous-jacent. En C++03 il n'y a pas de solution.