![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Andrew Selivanov |
![]() ![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: ![]() ![]() ![]() |
Кто нибудь действительно понимает разницу между ними? Четко где нибудь это разъясняется? Я накопал такое определение:
size_t is the type of the value returned by sizeof(). It is also a typedef in some standard headers. size_type is another typedef used for example in the standard containers, like std::vector and std::string. unsigned is a standard type that is built into the compiler. As such, it is available immediately, without any typedefs. On some systems, size_t, size_type, and unsigned could all be the same type. On other systems they might be different. By always using the proper type, your code has a bigger chance of being portable from one system to another. |
|
|
![]() |
Tonal |
![]()
Сообщение
#2
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: ![]() ![]() ![]() |
unsigned - ключевое слово языка. Обозначает, что следующий за ним интегральный тип не имеет знака. Допускается употреблять без последующего типа, тогда обозначает unsigned int.
size_t - стандартный (описанный в стандарте) псевдоним (typedef) для типа возвращающегося при запросе размера объекта языка (sizeof). Всегда беззнаковый (отрицательных размеров не бывает) обычно unsigned int, или unsigned long. Вполне представимы и системы с unsigned short int и unsigned long long. size_type - стандартный псевдоним для типа возвращающегося при запросе размера контейнера совместимого с STL. Вполне может быть любым беззнаковым типом - в зависимости от реализации контейнера. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 8.6.2025, 23:18 |