Подтвердить что ты не робот

"namespace std {}" before "using namespace std;"

Я видел синтаксис ниже во многих местах, где используются классы STL, явно не квалифицируя их с помощью std::. В чем преимущество первоначального namespace std {}? Почему бы просто не поставить using namespace std;?

namespace std {}
using namespace std;
4b9b3361

Ответ 1

namespace std {} просто объявляет пространство имен так, что компилятор знает об этом, а выполнение using namespace std; не приведет к ошибке.

Позже в тексте кода из std:: может быть #include d, и с ними можно автоматически ссылаться без префикса std::.