std::size_t
обычно используется для индексирования массива и подсчета циклов. По определению std::size_t
- это целочисленный тип без знака результата оператора sizeof
, а также оператор sizeof...
и alignof
(начиная с С++ 11). Он определен в следующих заголовках:
-
<cstddef>
-
<cstdio>
-
<cstdlib>
-
<cstring>
-
<ctime>
-
<cwchar>
Насколько я понимаю, тип, возвращаемый этими операторами, определяется при реализации.
Я хочу определить пользовательский size_t
, чтобы избежать вытаскивания ненужных материалов из любого из заголовков, упомянутых выше, в файл .cpp
, так как в моем файле мне нужно только std::size_t
.
В С++ 11 и выше я думал, что могу использовать следующий псевдоним:
using size_t = decltype(sizeof(1));
Однако я хотел бы определить тип size_t
для компиляторов pre-С++ 11 в переносном/межплатформенном виде.
Итак, есть ли переносимый способ определить size_t
для pre-С++ 11?