【发布时间】:2018-06-23 03:28:17
【问题描述】:
在我为好玩而编写的 C++ 程序中,经常使用绝对不会大于 255 的数值,因此我将它们存储为无符号字符以节省使用的内存(因为无符号字符仅使用byte,而不是 int 的 4 个字节)。这是一个好主意吗?这样做有什么缺点吗?
我感谢任何人都可以提供的提示和见解。
【问题讨论】:
-
“这样做有什么缺点吗?”是的,如果有的话,您可能会节省很少的钱,但程序的运行速度可能会慢得多。
-
这完全是一个基于意见的问题。但是这样做会失去严格别名的好处,这可能会损害您的执行速度。除此之外,
chars 在输入/输出设置中的行为会非常不同。如果节省的内存对您来说仍然值得,我会选择uint8_t而不是unsigned char。