What are the differences between using
typedef Some::Nested::Namespace::TypeName TypeName;
or
using Some::Nested::Namespace
typedef
gives an alias name for the type.
typedef Some::Nested::Namespace::TypeName TypeName;
Once you do that, You can refer Some::Nested::Namespace::TypeName
just by saying TypeName
in the local namespace.
using declaration
makes the type visible in the current namespace.
using Some::Nested::Namespace::TypeName;
Imports the type in the current namespace.
In this case, using the either of the above you can refer Some::Nested::Namespace::TypeName
by just using TypeName
in the local namespace.