В некотором коде, который я унаследовал, я часто использую size_t
с квалификатором пространства имен std
. Например:
std::size_t n = sizeof( long );
Он компилируется и работает нормально, конечно. Но мне кажется плохой практикой (возможно, перенесенной с C?).
Не правда ли, что size_t
встроен в С++ и, следовательно, в глобальное пространство имен? Должен ли заголовочный файл использовать size_t
в С++?
Другой способ задать этот вопрос: не ожидается ли компиляция следующей программы (без включения) для всех компиляторов С++?
size_t foo()
{
return sizeof( long );
}