using keyword — Looks up names in alternate classes or namespaces


               block-decl := using-decl | using-directive
               using-decl ::= using [typename] [::] nested-name :: unqualified-id ; | 
    using [::] unqualified-id ;
using-directive ::= using namespace [::] [nested-name ::] namespace-name ;

The using keyword starts a using declaration or using directive.

A using declaration imports a name from another namespace into the current namespace. It can also be used to introduce a name into a class scope; this is most often used to promote the access level of an inherited member or bring an inherited member into the derived class for overload resolution.

A using directive tells the compiler to search an additional namespace when looking up unqualified names.


namespace math {
  const long double pi = 3.1415926535897932385L;
};using math::pi;
long double tan(long double x = pi);
int main(  )
  using namespace std;
  cout << "pi=" << math::pi << '\n';

See Also

class, declaration, identifier, namespace, Chapter 2, Chapter 6

Get C++ In a Nutshell now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.