много где замечал, что размер символьного буфера определяется так:
const int bufferSize = 255;
char buffer[bufferSize+1];
зачем прибавлять единицу? ведь char может хранить 256 значений, почему сразу не определить так:
const int bufferSize = 256;
char buffer[bufferSize];
тоже самое для символьного массива:
const int MAX = 256;
char array[MAX];
ведь char может хранить 256 значений, почему сразу не определить так:
Размер char
не имеет никакого отношения к размеру выделяемого буфера - хоть мегабайт :)
Выделяется так для удобства, если вы выделяете bufSize+1
байт - то можете хранить в нем строку в bufSize
символов (еще один - для завершающего нулевого символа).
Что касается конкретно 255 - то, как мне кажется, причины тут скорее психологические - типа, круглое (в смысле бинарном :)) число, плюс обычно именно такой размер не может превышать имя файла (например, _MAX_FNAME
в Windows).
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно с определённой периодичностью проверять изменения в файле и если файл был изменён, то программе нужно считать только это изменение
Столкнулся с такой проблемой: Есть окно QMdiSubWindow с понавешанными на него виджетамиПри перемещении курсора к любому краю внутреннего окна,...
Хочу портировать некий проект, работающий с ком-портом, написанный в boost'e на Qt