Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[stl] map avec clef "primitive"

2 réponses
Avatar
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

2 réponses

Avatar
Fabien LE LEZ
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.

Avatar
James Kanze
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