15 лет назад, программируя с Pascal, я понял, почему использовать мощность двух для распределения памяти. Но это все еще похоже на современное состояние.
Примеры С#:
new StringBuilder(256);
new byte[1024];
int bufferSize = 1 << 12;
Я все еще вижу это тысячи раз, я использую это сам, и я все еще спрашиваю:
Нужно ли нам это в современных языках программирования и современном оборудовании?
Я думаю, его хорошая практика, но какая причина?
ИЗМЕНИТЬ
Например, массив byte[]
, как указано в ответах здесь, мощность 2 не имеет смысла: сам массив будет использовать 16 байтов (?), Поэтому имеет смысл использовать 240 (= 256-16) для размер для 256 байтов?