Должен и должен ... Я, как правило, предпочитаю без знака, поскольку он кажется более "сырым", менее привлекательным, чтобы сказать "эй, это просто кучка маленьких ints
", если я хочу подчеркнуть двоичность данных.
Я не думаю, что когда-либо использовал явное signed char
для представления буфера байтов.
Конечно, третий вариант состоит в том, чтобы представить буфер как void *
в максимально возможной степени. Многие обычные функции ввода / вывода работают с void *
, поэтому иногда решение о том, какой целочисленный тип использовать, можно полностью инкапсулировать, что приятно.