Salut,
Peut etre comprendrais tu mieux le fonctionnement s'il l'avait écrit sous la forme de
1 2 3 4 5
| unsigned int proType[65536];
for(int* i = 0; i < 65536; ++i)
{
proType[i]=9;
} |
Simplement, au lieu de passer par l'indice du tableau (ce que je trouve quand même plus facile à lire), il est passé par "le pointeur sur l'élément".
En effet, quand tu déclare unsigned int proType[65536], proType sans rien représente l'adresse de l'élément 0 du tableau, et donc, (proType+65536) correspond à l'adresse de fin de ce tableau.
L'instruction à l'intérieur de la boucle dit tout simplement qu'il faut fournir la valeur 9 "à l'élément qui se trouve à l'adresse" de itr
Ceci dit, et d'un avis strictement personnel, il n'y a strictement aucune raison à n'utiliser les std::vector que pour des tableaux de taille variables, surtout si le tableau de taille fixe est encapsulé dans une classe personnelle.
en effet, avec une classe du genre de
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| class LaClass
{
publc:
/* le constructeur qui initialise les éléments du tableau
* à 0 par défaut
*/
LaClass():tab(65536,0){}
/* le constructeur qui initialise les élément du tableau
* à une valeur fournie par l'utilisateur
*/
LaClass(int val):tab(65536,val){}
~LaClass(){}
/* on ne fournis que deux méthodes pour y accéder
*/
/* l'operateur [] pour acces en lecture seule
*/
const int operator[] (size_t index) const
{
assert (index<65536);
return tab[index];
}
/* et une méthode permettant de modifier une valeur */
void modify(size_t index, size_t value)
{
assert (index<65536);
tab[index]=value;
}
private:
std::vector<size_t> tab;
}; |
cache tout à fait le fait que tu utilise un std::vector
Enfin, et c'est encore mon avis personnel, mais la "peur de ne pas savoir se servir d'une bibliothèque" est sans doute le pire ennemi du programmeur:
En effet, ta "peur" est finalement relativement irraisonnée, vu que tu trouveras facilement de l'aide sur la plupart des bibliothèques, surtout si elles sont aussi généralisée que boost.
Ta peur te mettra dans une situation où tu va décider délibérément de perdre ton temps à faire (sans doute mal) tout seul quelque chose qui a été fait (sûrement mieux) par toute une équipe, au lieu de t'inquiéter de ce qui est vraiment important.
Maintenant, il n'est pas question de t'obliger à quoi que ce soit non plus

Partager