J'ai une classe dont je vais littéralement instancier des milliards. J'ai fait de mon mieux pour y mettre le moins de données possible, et je l'ai ramené à 10 octets lorsqu'il a été compilé pour une architecture x64: un unsigned short int
et un size_t
. Lorsque je souris sur sizeof(myclass)
(dans VS), cependant, il signale 16 octets. Si je commente l'un des champs, la taille de la classe est ce que vous attendez, 10 octets et 2 octets respectivement.Puis-je forcer une classe C++ à compiler en utilisant le minimum d'espace?
Existe-t-il un moyen d'indiquer au compilateur d'utiliser seulement 10 octets pour ma classe?
Essayez '#pragma pack' – PaulMcKenzie
Merci! Jetez '#pragma pack (2)' dans une réponse, et je vais le marquer comme la meilleure réponse. – dfoverdx
@dfoverdx utilise 'pack (1)' au lieu de 2 –