using std::cout
The using directive allows the names in a namespace to be used without the namespace-name as an explicit qualifier.
Of course, the complete, qualified name can still be used to improve readability.
using namespace [::] [ nested-name-specifier ] namespace-name
Remarks
Note the difference between the using directive and the using declaration : the using declaration allows an individual name to be used without qualification, the using directive allows all the names in a namespace to be used without qualification. This keyword is also used for type aliases.
If a local variable has the same name as a namespace variable, the namespace variable is hidden. It is an error to have a namespace variable with the same name as a global variable.
![]() |
---|
Put your using directive at the beginning of the source code file to reduce the potential for unexpected behavior with IntelliSense. |
The std namespace
The ANSI/ISO C++ standard requires you to explicitly declare the namespace in the standard library.
For example, when using iostream, you must specify the namespace of cout in one of the following ways:
-
std::cout (explicitly)
-
using std::cout (using declaration)
-
using namespace std (using directive)