Что представляет из себя тип size_t, похожий на тип int? И для чего его используют?
2 Answers
Открываем cplusplus.com - size_t и читаем
size_t Unsigned integral type
беззнаковое целое. То есть, это не int, он знаковый.
Alias of one of the fundamental unsigned integer types.
Псевдоним для одного из фундаментальных без знаковых типов. (то есть, скорее всего 4 или 8 байтового).
It is a type able to represent the size of any object in bytes: size_t is the type returned by the sizeof operator and is widely used in the standard library to represent sizes and counts.
Предназначен для отображения размера любого объекта в байтах: это возвращает size_of и много функций стандартной библиотеки - всякие length и count.
- 112,121
- 6
- 94
- 160
Тип size_t обычно применяется для счетчиков циклов, индексации массивов, хранения размеров, адресной арифметики. Так как его размер совпадает с размером указателя. Если для этих целей использовать (unsigned int ) то на 64х разрядной платформе могут быть проблемы с корректной работой приложения, а также теоретическое(на уровне одной - двух лишних инструкций) снижение производительности при индексации.
- 59
size_tдолжен совпадать с размером указателя для данной платформы). – avp Jan 01 '15 at 21:24size_t? – wololo Oct 20 '17 at 21:49size_tхранить размер любого (в т.ч. занимающего всю память) объекта. – avp Oct 20 '17 at 22:24size_t. – wololo Oct 21 '17 at 11:06