75 votes

vecteur<int> ::size_type en C++

Que signifie cette instruction C++ ?

 vector<int>::size_type x;

Et, à quoi sert l'opérateur de portée :: ici ? En d'autres termes, comment lit-on cette déclaration en anglais ?

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

96voto

FredOverflow Points 88201

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

34voto

unwind Points 181987

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.

5voto

T33C Points 1636

le vecteur est un modèle

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

2voto

Puddle Points 1

Différentes implémentations utilisent différents types pour représenter les tailles, donc nous ne pouvons pas écrire le type approprié directement et rester indépendant de la mise en œuvre. Pour cette raison, c'est une bonne programmation pratique d'utiliser le size_type que la bibliothèque définit pour représenter tailles de conteneurs.

- C++ accéléré par Andrew Koenig et Barbara E. Moo

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X