Il y a quelque temps, j'ai eu une discussion avec un collègue sur la façon d'insérer des valeurs dans les cartes STL . J'ai préféré
map[key] = value;
parce que ça semble naturel et clair à lire alors qu'il préférait
map.insert(std::make_pair(key, value))
Je viens de lui demander et aucun de nous ne peut se souvenir de la raison pour laquelle l'insert est meilleur, mais je suis sûr que ce n'était pas seulement une préférence de style mais plutôt une raison technique comme l'efficacité. La référence SGI STL dit simplement "Strictement parlant, cette fonction membre n'est pas nécessaire: elle n'existe que par commodité."
Quelqu'un peut-il me dire cette raison, ou est-ce que je rêve juste qu'il y en ait une?