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