2016-10-04 3 views
0

Diese Frage ergibt sich aus der Frage c++ regex Ich fragte nur.C++ - Member-Typen

In Online-cpp-Referenzen z.B. match_results, was bedeutet value_type im Abschnitt "Mitgliedstypen"? Ist dies eine Standardmethode zum Definieren von Klassen? Wie lese ich den gesamten Abschnitt "Member-Typen"?

Antwort

1

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 ...