Quel est le meilleur/idiomatiques façon à insérer dans une carte?

J'ai identifié quatre différentes façons d'insérer des éléments dans un std::map:

std::map<int, int> function;

function[0] = 42;
function.insert(std::map<int, int>::value_type(0, 42));
function.insert(std::pair<int, int>(0, 42));
function.insert(std::make_pair(0, 42));

Qui est le préféré/idiomatiques façon? (Et s'il y a une autre façon, je n'ai pas pensé?)

  • Votre carte devrait être appelé "réponses", pas de "fonction"
  • Hm? Une fonction est essentiellement une carte entre les deux ensembles.
  • semble-Vincent-du commentaire est un peu une blague au sujet de certains livres...
  • Il semble contredire l'original-42 ne peut pas simultanément être la réponse à (a) la vie, l'univers et tout, et (b) rien. Mais alors, comment exprimez-vous la vie, l'univers et tout comme un int?
  • Vous pouvez exprimer à tout avec un entier assez grand.
  • Ah! Godel ne serait pas heureux de votre commentaire! Probablement, vous devez lire (ou relire) le merveilleux en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach
  • La façon dont je vois actuellement, si 42 peut jeter, pour la première version, il n'est pas défini si la carte contient un {0, default_constructed} ou pas.
  • ou pi...
  • Pouvez-vous exprimer quelque chose en termes de nombre où ce nombre doit être plus grand que l'infini ou même plus grand que l'infini à l'infini, de puissance...? Comment parler de quelque chose qui est éternel comme l'Esprit?
  • Depuis les Entiers sont dénombrables (aleph-nulle), l'utilisation des Réels, ou mieux encore, un 4-tuple de Complexe

InformationsquelleAutor fredoverflow | 2010-11-26