Мне нужно нажать 66 000 векторов (число векторов не фиксировано, оно также может быть 90 000 векторов. Для краткости я показываю приведенный ниже код с примером из 66 000 векторов) вектора типа в следующий вектор:Вставка в векторы C++
vector<int> vec;
Размер каждого из 66 000 векторов составляет 9000 элементов. Я использую следующие для делать то же самое:
vec.reserve(66000*9000);
for(int j=0;j<66000;j++)
for(int i=0;i<9000;i++) //9000 elements in vec1[i] per vector is not fixed
vec.push_back(vec1[i]); //i am pushing i as an example
Есть ли каким-то образом, с помощью которого я могу увеличить эффективность этого кода?
Мне нужно конкатенировать слишком много векторов, поэтому решение для них потенциально отличается от конкатенации двух векторов. Также я не могу использовать многопоточность, как указано в предыдущем вопросе
если размер исправлен, почему бы не использовать массив/'std :: array' вместо этого? –
@NikolaDimitroff Потому что он большой. Конечно, можно динамически выделять 'std :: array', но что это поможет? –
Является ли двойное использование «i» преднамеренным? – FooBar