Je pense que vous pouvez simplement utiliser swap - par exemple.
my_map["123"].swap(my_set)
fourni my_set
n'a pas démolir d'importance pour vous. Cela permettrait d'échanger le contenu précédent de my_map["123"]
avec my_set
, et c'est rapide. L'opérateur d'indexation [] renvoie une référence au set
contenu - par conséquent, vous pouvez le manipuler comme n'importe quelle autre variable. Si vous souhaitez ajouter/supprimer des valeurs individuelles, vous pouvez simplement utiliser insert()
ou erase()
méthodes - par exemple. my_map["123"].insert(123)
.
La copie a effectivement lieu lorsque vous affectez un nouveau jeu à la carte - par ex.
my_map["123"]=my_set
créerait une copie de my_set
. Si vous n'avez pas besoin d'utiliser la valeur my_set
plus tard, vous pouvez utiliser la méthode , qui va simplement mélanger les pointeurs des deux ensembles. my_set
sera, toutefois le contenu du my_map["123"]
précédent.
Pourquoi pensez-vous qu'ils sont copiés? –