【发布时间】:2014-08-18 13:13:34
【问题描述】:
实际上,我的问题与one 非常相似,但该帖子仅关注 C#。最近看到一篇文章说java会在内存中将一些短类型(比如short)“提升”到4个字节,即使有些位没有使用,所以不能减少使用。 (是真的吗?)
所以我的问题是语言,尤其是 C、C++ 和 java(正如 Manish 在此 post 谈到 java 中所说)如何处理小型数据类型的 内存分配 . 参考或任何方法来找出它是首选。谢谢
【问题讨论】:
-
如果您的问题是:int8 类型使用的内存是否比 int32 少?是的,确实如此,因为 int8 只使用 1 个字节,而 int32 使用 4 个字节。
-
数据类型的大小只在结构和数组中很重要。大多数语言会将值“提升”为 32-64 位以便进行计算,这仅仅是因为这是寄存器大小。
-
@Matt 在实践中并不是很准确。检查 Manish 链接的问题和答案。
-
@Manish 我不是说性能或效率,只是从内存分配来看。
标签: java c++ c memory-management