Предположим, что я хочу представить двумерную матрицу int
как вектор векторов:
std::vector<std::vector<int> > myVec;
Внутренний размер постоянный, например 5, а внешний размер меньше или равен N
. Чтобы свести к минимуму перераспределение, я хотел бы зарезервировать место:
myVec.reserve(N);
Какой размер предполагается для внутреннего вектора? Является ли эта чисто реализация зависимой? Как это влияет на пространственную локальность данных? Поскольку внутренний размер является константой, есть ли способ сказать компилятору использовать этот постоянный размер? Как эти ответы меняются при изменении внутреннего размера вектора?