gpt4 book ai didi

c++ - 我可以强制 C++ 类使用最小空间量进行编译吗?

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:04 24 4
gpt4 key购买 nike

我有一个类,我将实际实例化数十亿个。我尽力在其中放入尽可能少的数据,在为 x64 架构编译时我将其减少到 10 个字节:一个 unsigned short int 和一个 size_t .但是,当我将鼠标悬停在 sizeof(myclass) 上时(在 VS 中),它报告 16 个字节。如果我注释掉其中任何一个字段,类的大小就是您所期望的,分别为 10 个字节和 2 个字节。

有没有办法指示编译器为我的类只使用 10 个字节?

最佳答案

#pragma pack 可以使您的结构更小。另一方面,它会使检索成员数据变慢,因为不能保证字节对齐。因此,编译器将需要额外的指令来从不同的内存位置获取数据。有关更多信息,此链接有一篇精彩的帖子:#pragma pack effect

关于c++ - 我可以强制 C++ 类使用最小空间量进行编译吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46626938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com