Mitgliedstypen sind nur typedef
s (oder manchmal vollständige Klassen), die nützlich für die Verwendung und/oder irgendwie mit der Klasse selbst verwandt sind.
Wie Sie Elementtypen in der Regel fragen, lässt std::vector
als Beispiel nehmen:
template < class T, class Alloc = allocator<T> > class vector;
Es ist eine Schablone mit Typ T
(und einem Zuteiler, spielt keine Rolle).
Jetzt enthält std::vector
einen Elementtyp std::vector::value_type
, der immer als den gleichen Typ wie T
definiert ist. ZB muss für vector<int>
, std::vector::value_type
die gleiche wie int
ist, und Sie es neue Variablen definieren können usw.
Ähnliche gibt es pointer
und reference
und einige andere Dinge, die Entschlossenheit zu int*
und int&
.
Dann gibt es size_type
, die eine Variable definiert, die geeignet ist, alle möglichen Vektorlängenwerte zu halten ... Weil z. Bei X86 und X64 ist das normalerweise anders (und bei einigen Klassen kann es von der Implementierung abhängen, und ...), es ist nützlich, so etwas zu haben.
Und so weiter ...