*   >> Lecture Éducation Articles >> science >> la programmation

Principes d'un C Simple ++ Séquence Container

é pour l'élément ajouté. Dans le programme ci-dessus de la valeur, nous avons envoyé était 5. Iterator Un pointeur est l'adresse d'un objet en mémoire. Nous avons vu un problème ci-dessus que lorsque vous déplacez le pointeur de la matrice (nom du tableau) avance un certain nombre de fois, vous devez le déplacer derrière le même nombre de fois, sinon l'indexation ira mal. Il est donc déconseillé de déplacer le pointeur de la matrice.

Vous pouvez avoir plus d'un pointeur pointant vers la même adresse dans la mémoire; qui est, vous pouvez avoir des pointeurs de noms différents pointant vers la même adresse. Dans le code ci-dessus, nous voulions l'adresse du dernier élément (nouvellement ajouté). Pour résoudre le problème ci-dessus (problème d'index), il est bon d'avoir un pointeur d'un nom différent qui va scanner votre objet pour vous d'obtenir l'adresse que vous cherchez. Cette adresse peut être retourné ou sauvé quelque part dans un objet (identifiant).

De cette façon, le pointeur de la matrice (nom du tableau) ne changera pas sa position et l'indexation en utilisant le nom du tableau restera OK. La crainte du problème d'indexation ne sera pas là. Pour le code ci-dessus, l'adresse de retour ou enregistré sera ensuite utilisé pour voir si la mémoire dynamique était disponible. Vous avez besoin d'une classe (un objet instancié d'elle) qui aura le pointeur de la numérisation et puis retourner ou d'enregistrer l'adresse que vous souhaitez. Un tel objet peut être appelé un itérateur.

Dans la pratique, les itérateurs pour les conteneurs de la Bibliothèque conteneurs sont plus complexes que cela. Nous ne serons pas aller dans une d'une telle complexité ici. Le code suivant donne la classe d'un itérateur simple pour le problème ci-dessus: classe Iter {public: int * retPtr; Iter (int indx, int * ptr) {int * iterPtr = ptr; for (int i = 0; i ++ iterPtr;} retPtr = iterPtr;} int * retrnPtr () {return retPtr;}};..

Il est une propriété et deux méthodes de la classe La première méthode est le constructeur Il a comme paramètres un indice de l'élément dont le pointeur que vous cherchez, et le pointeur de la matrice de mémoire dynamique. Dans la première déclaration dans le constructeur, le pointeur de la matrice, qui pointe vers le premier élément du tableau est affecté à un nouveau pointeur dans une déclaration d'initialisation. Il est ce pointeur qui est incrémenté et non pas le pointeur vers le tableau.

La boucle dans le constructeur incrémente le nouveau pointeur un ce

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.