[stl] map avec clef "primitive"

Le
pasde.hcyrano.spam
bonsoir,

je cherche a creer une map avec pour clef un entier.

est ce possible, ou bien la clef doit etre obligatoirement un objet?

map<int, objet>

merci

--
Bruno Causse
http://perso.wanadoo.fr/othello
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien LE LEZ
Le #306386
On Wed, 11 Apr 2007 18:42:57 +0200, Bruno Causse :

je cherche a creer une map avec pour clef un entier.

est ce possible,


Oui.

ou bien la clef doit etre obligatoirement un objet?


Non.

Note que si un entier n'est pas un objet à part entière, tout est fait
pour qu'il se comporte, dans le plus de cas possible, comme un objet
(à sémantique de valeur). Ou plutôt, tout est fait pour qu'un objet se
comporte, autant que possible, comme un entier.

James Kanze
Le #306358
On Apr 11, 6:42 pm, (Bruno Causse) wrote:

je cherche a creer une map avec pour clef un entier.

est ce possible, ou bien la clef doit etre obligatoirement un objet?

map<int, objet>


Il suffit soit que l'opérateur < (std::less, en fait) soit
défini pour le type, soit que tu fournis un troisième paramètre
pour le template, un type qu'on peut utiliser comme une
fonction, et qui établit une rélation d'ordre sur le type de la
clé. Des types arithmétique, donc, vont très bien (puisque '<'
est défini sur eux), tout pointeur aussi (parce que std::less
est garanti de marcher, même si ce n'est pas le cas de '<').

--
James Kanze (GABI Software) email:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Publicité
Poster une réponse
Anonyme