OVH Cloud OVH Cloud

Conteneur de pointeur... Quand?

1 réponse
Avatar
Michaël Delva
Salut,

voici la petite question du soir, histoire d'être sûr de bien faire les
choses:

Quand vaut-il mieux utiliser des conteneurs de pointeurs? Quand le type du
conteneur est trop important pour une copie de ses membres? (Ex: une
classe?)

J'avoue que ce point n'est pas encore très clair pour moi...

Et en quoi différe l'utilisation d'une collection de pointeurs par rapport
à une collection de types?

Merci d'avance...

PS: je ne pense pas avoir correctement utilisé le maigre vocabulaire C++
que je connaisse, là aussi je dois progresser ;-)

1 réponse

Avatar
James Kanze
"Michaël Delva" writes:

|> voici la petite question du soir, histoire d'être sûr de bien
|> faire les choses:

|> Quand vaut-il mieux utiliser des conteneurs de pointeurs?

Ça dépend de l'application, mais des collections de pointeurs
(éventuellement intelligents) s'imposent dans au moins deux cas :
quand le type en question ne supporte pas l'affecation ou la copie, et
quand on veut du polymorphisme.

|> Quand le type du conteneur est trop important pour une copie de ses
|> membres? (Ex: une classe?)

Je ne suis pas sûr que je comprends. J'ai souvent des collections
dont le contenu est une classe : std::string, par exemple, ou un
pointeur intelligent.

|> J'avoue que ce point n'est pas encore très clair pour moi...

|> Et en quoi différe l'utilisation d'une collection de pointeurs
|> par rapport à une collection de types?

C'est surtout une question de sémantiques : les collections de la
norme (ainsi que celles de toutes les bonnes bibliothèques
pré-norme) sont des collections de valeurs. Quand la sémantique de
valeur ne convient pas, il faut se servir des pointeurs.

--
James Kanze mailto:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France +33 1 41 89 80 93