Bonjour à tous :D
J'aimerais savoir quelle est la différence entre la notion d'index et celle de position dans les objets ou contrôles de type List.
Merci de votre aide éclairée :D :D :D
Version imprimable
Bonjour à tous :D
J'aimerais savoir quelle est la différence entre la notion d'index et celle de position dans les objets ou contrôles de type List.
Merci de votre aide éclairée :D :D :D
salut,
je ne sais pas si on doit vraiment parler de différences sur ce sujet...
l'accès sur les list étant plutôt orientée POSITION (un sorte d'itérateur) ,c'est clair que ce n'est pas un index :aie:que dire de plus ?
on ne peut accéder directement à un élément par son index sauf à le convertir en POSITION.
:D
Salut farscape :D (et les autres !)
Ce truc me titille quand même. En Delphi par exemple - comme en VB - ne n'ai jamais entendu parler que d'index, à partir de zéro, bien sûr. En fait, il m'est venu l'idée que l'un des deux corresponde à l'ordre d'ajout/insertion dans la liste, et l'autre son emplacement effectif dans cette liste 8O J'essaierai de tester ça. En tout cas, la POSITION commence à 1, et pas 0. Si j'ai raison, encore une question de ma part à laquelle j'aurai répondu moi-même ;) , mais, comme ça, ceusses qui se poseront la question...
A bientôt donc, avec le résultat de mes tests. :D :D :D
hum ce n'est pas une bonne idée ,
POSITION cache en fait un liste chainée basée sur la structure CNode:
exemple d'utilisation:Code:
1
2
3
4
5
6
7
8
9 struct CNode { CNode* pNext; CNode* pPrev; TYPE data; }; struct __POSITION { }; typedef __POSITION* POSITION;
Code:
1
2
3
4
5
6 AFX_INLINE TYPE& CList<TYPE, ARG_TYPE>::GetNext(POSITION& rPosition) // return *Position++ { CNode* pNode = (CNode*) rPosition; ASSERT(AfxIsValidAddress(pNode, sizeof(CNode))); rPosition = (POSITION) pNode->pNext; return pNode->data; }