OVH Cloud OVH Cloud

list

5 réponses
Avatar
thierry nivon
bonjour,
Suis-je dans l'erreur en disant que si je crée une liste qui contiendra
des pointeurs alors je crée pour chaque membre ajouté un pointeur sur un
pointeur , cad que l'adresse de mon T * n'est pas directement dans le
list. Si c'est le cas, y a t-il un moyen de faire stocker directement
l'adresse dans le list en spécifiant un allocator quelconque ?

5 réponses

Avatar
Stan
"thierry nivon" a écrit dans le message de news:
432c5727$0$17201$
bonjour,
Suis-je dans l'erreur en disant que si je crée une liste qui contiendra
des pointeurs alors je crée pour chaque membre ajouté un pointeur sur un
pointeur , cad que l'adresse de mon T * n'est pas directement dans le
list. Si c'est le cas, y a t-il un moyen de faire stocker directement
l'adresse dans le list en spécifiant un allocator quelconque ?


Je n'ai pas très bien compris ta question, mais
est-ce que list<T> ne te conviendrait pas ?

--
-Stan

Avatar
Fabien LE LEZ
On Sat, 17 Sep 2005 19:49:10 +0200, thierry nivon
:

Suis-je dans l'erreur en disant que si je crée une liste qui contiendra
des pointeurs


Drôle d'idée.

alors je crée pour chaque membre ajouté un pointeur sur un
pointeur , cad que l'adresse de mon T * n'est pas directement dans le
list.


Yep. Mais c'est un détail d'implémentation, tu n'as pas à t'en
préoccuper.

En fait, j'avoue n'avoir pas la moindre idée de ce que tu cherches à
faire. Le sais-tu toi-même ?

Avatar
Marc Boyer
thierry nivon a écrit :
bonjour,
Suis-je dans l'erreur en disant que si je crée une liste qui contiendra
des pointeurs


un std::list<T*> ?

alors je crée pour chaque membre ajouté un pointeur sur un
pointeur


Non, je ne pense pas.

cad que l'adresse de mon T * n'est pas directement dans le
list.


Heuh ? L'adresse de T ou l'adresse T* ?

Si c'est le cas, y a t-il un moyen de faire stocker directement
l'adresse dans le list en spécifiant un allocator quelconque ?


std::list<T*> ?

Marc Boyer
--
À vélo, prendre une rue à contre-sens est moins dangeureux
que prendre un boulevard dans le sens légal. À qui la faute ?

Avatar
thierry nivon
thierry nivon wrote:
bonjour,
Suis-je dans l'erreur en disant que si je crée une liste qui contiendra
des pointeurs alors je crée pour chaque membre ajouté un pointeur sur un
pointeur , cad que l'adresse de mon T * n'est pas directement dans le
list. Si c'est le cas, y a t-il un moyen de faire stocker directement
l'adresse dans le list en spécifiant un allocator quelconque ?


bon pas très clair, alors je vaix essayer de m'expliquer (si j'y arrive)

Class CA
{
} ;
...
//si j'ai un
list<CA *> listCA ;
list<CA *>::iterator ;

// alors pour déréférencer l'iterator
je dois faire
(*it)->fctdeCA()
// soit
*(*it).fctdeCA ;
// donc un pointeur de pointeur
// mais je m'aperçois que cela doit etre uniquement l'iterator qui
// m'oblige à cela
// Donc ma question est nulle et non avenue

Maintenant, bien que cela soit de la sauce interne aux lists, savoir si
on utilise un pointeur ou un pointeur de pointeur, a une ( très très
petite influence) sur la taille de la list, c'est tout

Thierry


listCA.push_back(

Avatar
Fabien LE LEZ
On Mon, 19 Sep 2005 21:21:41 +0200, thierry nivon
:

Maintenant, bien que cela soit de la sauce interne aux lists, savoir si
on utilise un pointeur ou un pointeur de pointeur, a une ( très très
petite influence) sur la taille de la list, c'est tout


Yep. Mais tu n'y peux rien. De toutes façons, si tu utilises un
std::list<>, c'est que tu as une bonne raison de ne pas utiliser
std::vector<>.