Я хотел бы лучше понять, почему выбрать int
over unsigned
?
Лично мне никогда не нравились подписанные значения, если у них нет веской причины. например количество элементов в массиве или длину строки или размер блока памяти и т.д., поэтому часто эти вещи не могут быть отрицательными. Такое значение не имеет никакого смысла. Почему предпочитаете int
, когда он вводит в заблуждение во всех таких случаях?
Я спрашиваю об этом, потому что и Бьярне Страуструп, и Чандлер Каррут дали совет предпочесть int
над unsigned
здесь (приблизительно 12:30).
Я могу видеть, что аргумент использования int
over short
или long
- int
является "самой естественной" шириной данных для целевой архитектуры машины.
Но подписанный беззнаковый всегда меня раздражал. Значительно быстрее подписали ценности на типичных современных архитектурах процессора? Что делает их лучше?