Gibt es trotzdem den ursprünglichen Namen eines Typs von einem typedef-Namen für diesen Typ zu unterscheiden?Unterscheiden C++ 11 ursprünglichen Typ-Name von Typdef-Name?
Zum Beispiel:
class C1 {};
typedef C1 C2;
C1 und C2 beide nun die gleiche Art nennen. Gibt es im Code nach dem oben genannten Fall immer einen Fall, in dem ein Vorkommen des Namens C1, der sich auf den fraglichen Typ bezieht, nicht durch C2 ersetzt werden kann (oder umgekehrt)?
10 Ist Ihnen bekannt, ob das der einzige Fall ist (Konstruktoren/Destruktoren)? Was sind die anderen Syntax-Konstrukte abgesehen von Konstruktoren/Destruktoren? –
@ user1131467 Siehe $ 7.1.3 für weitere Informationen zu 'typedef'. In Bezug auf Ihren Kommentar können $ 7.1.3/8 und $ 7.1.6.3 weitere Erläuterungen geben. –
Sie möchten vielleicht den _injected class name_ nachlesen. Innerhalb von 'C1' gibt es spezielle Regeln zum Nachschlagen des Namens 'C1'. Aber da 'C2' die selbe Klasse benennt, ist das Nachschlagen' C1' in 'C2' auch etwas Besonderes. OTOH, "C2" wird nicht in "C1" injiziert. – MSalters