﻿# Является ли size\_t стандартным типом в языке Си\+\+? В языке Си?

size\_t \- это базовый беззнаковый целочисленный memsize\-тип, определённый в стандартной библиотеке языков C/C\+\+\. Данный тип описан в заголовочном файле stddef\.h для языка C и в файле cstddef для языка C\+\+\. Типы, определяемые заголовочным файлом stddef\.h, расположены в глобальном пространстве, cstddef размещает тип size\_t в пространстве имён std\. В связи с тем, что стандартный заголовочный файл stddef\.h языка C для обеспечения совместимости включается в С\+\+ программы, в этих программах возможно обращение к типу как в глобальном пространстве имён \(::size\_t, size\_t\), так и в пространстве имён std \(std::size\_t\)\.

Следует отметить, что тип size\_t не является зарезервированным словом языков C/C\+\+, а объявлен через спецификатор typedef в стандартном заголовочном файле как тип результата, возвращаемого оператором sizeof, и выбирается таким образом, чтобы в него можно было записать максимальный размер теоретически возможного массива любого типа, т\.е\. на 32\-битной системе size\_t будет занимать 32 бита, а на 64\-битной \- 64 бита\.

## Библиографический список

1. Обсуждение на сайте stackoverflow\.com\. [Is size\_t only in C\+\+ standard or C standard as well?](https://stackoverflow.com/questions/2547635/is-size-t-only-in-c-standard-or-c-standard-as-well)
1. Андрей Карпов, Евгений Рыжков\. [Урок 5\. Сборка 64\-битного приложения](https://pvs-studio.ru/ru/blog/lessons/0005/)
1. Обсуждение на сайте stackoverflow\.com\. [Does "std::size\_t" make sense in C\+\+?](https://stackoverflow.com/questions/237370/does-stdsize-t-make-sense-in-c)
1. База знаний\. [Можно заставить тип size\_t быть 32\-битным в 64\-битной программе?](https://pvs-studio.ru/ru/blog/posts/cpp/k0021/)