【发布时间】:2015-02-15 19:30:32
【问题描述】:
在学习一些编程练习(google code jam)期间,我遇到了带有静态数组分配的幻数 42,即使它们使用的索引从 1 到 16 或到 32。 例如:
bool can[42];
for (int i = 1; i <= 16; i++) can[i] = true;
我在想这可能是性能原因(内存分配块 42*32 位?)或类似的东西。 但我在谷歌上找不到任何关于此的材料,有人可以解释一下它是否与系统性问题有关,还是只有道格拉斯·亚当斯选择的魔法数字 42。
【问题讨论】:
-
我赌道格拉斯·亚当斯。
-
魔术#。 c++ 中的 sizeof(bool) 为 1。 bool 不是 c 中的数据类型。没有理由将其设为 42。编译器可能会将其填充到 46。
-
@EdHeal Dat 感觉自己变成了一个真正的老书呆子!
-
@EdHeal 我的二极管正在疼痛......
标签: c++ c memory-management