Ein verwirrendes typedef beinhaltet den Gültigkeitsbereich der Klasse
Ich lese Code eines C ++ - Projekts und er enthält Code der folgenden Form:
namespace ns {
class A {};
class B {};
}
struct C {
typedef ns::A* ns::B::* type;
};
Kann jemand die Bedeutung des @ erklärtypedef
Linie?type
scheint eine Art Zeiger auf ein Mitglied von @ zu sens::B
was auf @ zeins::A
, aber ich bin mir nicht sicher
ClassA
undB
im realen Code sind nicht leer, aber ich denke, es ist hier nicht relevant. Und hier ist einBeispiel.