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.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage