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