web-dev-qa-db-fra.com

vecteur <int> :: size_type en C ++

Que signifie cette instruction C++?

vector<int>::size_type x;

Et, à quoi sert l’opérateur d’étendue :: Ici? En d'autres termes, comment lisons-nous cette déclaration en anglais?

Par exemple, pour X::x(){...}, nous disons que x() est un member function De class X.

49
Simplicity

size_type est un type de membre (statique) de type vector<int>. Il s'agit généralement d'un typedef pour std::size_t, qui lui-même est généralement un typedef pour unsigned int ou unsigned long long.

62
fredoverflow

Je le lirais comme "déclarer x comme une variable d'un type approprié pour contenir la taille d'un vecteur". Le vecteur définit son propre type pour sa longueur, et il est toujours plus propre de l'utiliser si possible, plutôt que de "deviner" et d'utiliser int, unsigned int, long, unsigned long ou size_t etc directement comme vous auriez dû le faire autrement.

24
unwind

le vecteur est un modèle

donc le type vector basé sur int a un membre typedef appelé size_type. x est défini comme une variable de ce type.

3
T33C