Comment puis-je passer d'une carte en tant que paramètre et ajouter dans cette méthode?
J'ai donc une carte
map<string, string> myMap;
SetMapPairs(map);
void SetMapPairs(map<string, string> mapPairs)
{
map<string, string> myMap = mapPairs;
myMap["one"] = "two";
}
Je sais que je suis en train de faire le mal, mais je ne suis pas sûr de savoir comment faire.
Comment puis-je le passer par référence afin que je puisse ajouter à la carte dans cette méthode?
Aussi j'ai besoin de d'abord définir myMap = mapPairs
sinon, je sais que c'est facile à faire
void SetMapPairs(map<string, string> &mapPairs)
- Êtes-vous vraiment appeler
SetMapPairs(map);
? Qui ne devrait même pas compiler.
Vous devez vous connecter pour publier un commentaire.
Utilisation
&
de passer par la référence:ou
Vous utilisez
&
de passer par la référence:Au moins pour ce cas particulier, je pense que je ferais probablement retourner une carte au lieu de passer par la référence:
Puis dans votre code appelant, vous pouvez utiliser quelque chose comme:
Avec la plupart des décent/les compilateurs modernes le code généré sera à la fin sur le même de toute façon, mais je pense que dans les circonstances, c'est un meilleur ajustement pour ce que vous êtes vraiment en train de faire.