Я хочу создать объект внутри std :: vector, избегая его создания, а затем push_back() его. Я слышал о emplace_back(), но я не мог использовать его в этой ситуации: Создайте объект внутри вектора, который содержится другим
std::vector<std::vector<std::string>> info;
Тогда, кто знает, как создать данные строки внутри второго вектора и этот вектор в последней позиции первого ? Ничего подобного этому, но без использования info2 и push_back():
std::vector<std::string> info2;
info2.emplace_back("a");
info.push_back(info2);
Я бы рекомендовал вам избежать этих «двумерных векторов», а затем ваша проблема исчезнет. Либо сохраните 'std :: map>' (если ваше внутреннее измерение не исправлено) или сохраните 'std :: vector ' и выложите вокруг него координированный перевод (если ваше внутреннее измерение фиксированный). Тогда у вас нет ненужного создания объекта, и это именно та проблема, с которой вы сталкиваетесь! –