То, что вы прочитали, было, вероятно, из страха, неуверенности и сомнения.Автор всего, что вы читали, вероятно, думал, что (unsigned)-1
был недостаточным и потенциально вызывал хаос в системах, где битовое представление не дает вам UINT_MAX
для вашей проблемы.
Однако автор ошибаетсяпотому что стандарт гарантирует, что значения без знака будут переноситься, когда они достигнут границы своего диапазона.Независимо от того, какие битовые представления задействованы, (unsigned)-1
равно std::numeric_limits<unsigned>::max()
.Период.
Хотя я не уверен, какая польза от этого здесь.Вы получите это большое, максимальное значение ... Если это хорошо, я думаю, что вы можете пойти.