Не правда ли, что результат собственного оператора не может быть определен без включения файла заголовка?
В соответствии с этой страницей, size_t
определяется в заголовках cstddef, cstdio, cstring, ctime и cstdlib. Таким образом, если ни один из этих заголовков не включен, то size_t
должен быть undefined. Однако следующая программа компилируется без предупреждения (с использованием MSVC 2015RC).
int main()
{
auto d_Size = sizeof( int );
return 0;
}
Кажется, что size_t
- это нечто вроде ублюдка между нативным типом и typedef. Что говорит стандарт?