Was ist mit dieser C++ - Anweisung gemeint?
vector<int>::size_type x;
Und wozu dient hier der Scope-Operator ::
? Mit anderen Worten, wie lesen wir diese Aussage auf Englisch?
Zum Beispiel sagen wir für X::x(){...}
, dass x()
ein member function
Von class X
Ist.
size_type
Ist ein (statischer) Elementtyp vom Typ vector<int>
. Normalerweise ist es ein typedef
für std::size_t
, Das selbst normalerweise ein typedef
für unsigned int
Oder unsigned long long
Ist.
Ich würde es lesen als "deklariere x als Variable eines Typs, der für die Größe eines Vektors geeignet ist". Der Vektor definiert seinen eigenen Typ für seine Länge, und es ist immer am saubersten, diesen zu verwenden, anstatt zu "raten" und int
, unsigned int
, long
, unsigned long
oder size_t
etc direkt, wie Sie es sonst tun müssten.
vektor ist eine Vorlage
also hat der vector
-Typ, der mit int
erstellt wurde, ein Mitglied typedef
mit dem Namen size_type
. x
ist als Variable dieses Typs definiert.