15 年前,在使用 Pascal 编程时,我明白了为什么要使用二的幂进行内存分配。但这似乎仍然是最先进的。
C# 示例:
new StringBuilder(256);
new byte[1024];
int bufferSize = 1 << 12;
我仍然看到这个数千次,我自己使用这个,我仍然在质疑:
我们需要现代编程语言和现代硬件吗?
我想这是很好的做法,但原因是什么?
编辑
例如一个byte[]
数组,如答案here所述,2的幂没有意义:数组本身将使用16个字节(?),所以使用240(= 256-16)的大小是否有意义总共适合 256 个字节?