C++ Using declaration


A using declaration introduces a single name into the current scope that was previously declared elsewhere.


  • using typename(opt) nested-name-specifier unqualified-id;
  • using :: unqualified-id;


A using-declaration is distinct from a using directive, which tells the compiler to look in a particular namespace when looking up any name. A using-directive begins with using namespace.

A using-declaration is also distinct from an alias declaration, which gives a new name to an existing type in the same manner as typedef. An alias declaration contains an equals sign.