Что такое size_t
?
size_t
соответствует интегральному типу данных, возвращаемому оператором языка sizeof
и определенному в файле заголовка (средидругие) как unsigned integral type
.
Можно ли разыграть size_t
на int
?
Вы можете использовать приведение, если выубедитесь, что размер никогда не будет> 1019 *.
. Если вы пытаетесь написать переносимый код, это не безопасно, потому что
size_t
в 64 bit Unix
равно 64 bits
size_t
в 64 bit Windows
равно 32 bits
Так что, если вы перенесете свой код с Unix на Windows и, если выше, это условия, вы будетепотерять данные.
Предложенный ответ
Учитывая оговорку, предлагается сделать i
из unsigned integral type
или дажелучше использовать его как тип size_t
.