У меня есть это:
size_t n = 100;
std::vector<std::vector<foo>> v(n);
Число sub vectors
является динамическим, но известным. Тем не менее, количество элементов в каждом vector
неизвестно, но у меня есть оценка об этом, поэтому я хочу reserve
sub vectors
перед тем, как начать возвращаться к ним. В настоящее время я делаю следующее:
size_t estimated_size = 1000;
for (auto& sub_vector: v){
sub_vector.reserve(estimated_size);
}
Есть ли лучший способ? Как делать это при построении?
P.S. Это не вариант:
size_t n = 100;
size_t estimated_size = 1000;
std::vector<std::vector<foo>> v(n, std::vector<foo>(estimated_size));
Я просто хочу зарезервировать, не создавая, потому что foo
стоит построить дважды.