The name of the class is "entered" into the class, this is called the name of the injected class. He looks like:
class my_class_name
{
public:
typedef ::my_class_name my_class_name;
};
(But this, of course, does not compile, the class may not have a manually declared member with the same name as the class.)
( ) :
[temp.local]/1
( ) , . . --, - - - , , , , <>.