Je veux créer un objet dans un fichier std :: vector en évitant de le créer, puis l'appeler push_back(). J'ai entendu parler emplace_back() mais je ne pouvais pas l'utiliser dans cette situation: Créer un objet à l'intérieur d'un vecteur qui est contenu par un autre
std::vector<std::vector<std::string>> info;
Ensuite, quelqu'un sait comment créer l'info chaîne dans le second vecteur et ce vecteur dans la dernière position du premier ? Quelque chose de semblable à cela, mais sans utiliser Info2 et push_back():
std::vector<std::string> info2;
info2.emplace_back("a");
info.push_back(info2);
Je vous recommande d'éviter ces "vecteurs bidimensionnels" et votre problème disparaîtra. Gardez un 'std :: map>' (si votre dimension interne n'est pas fixe) ou gardez un 'std :: vector ' et disposez une traduction coordonnée autour (si votre dimension intérieure c'est réglé). Ensuite, vous n'avez pas de création d'objet inutile, ce qui est exactement le problème que vous rencontrez ici! –