У меня есть вектор векторов, и я пытаюсь инициализировать его следующим образом:
vector<vector<float> > matrix(numberOfRows, vector<float> (numberOfCols));
Но эта строка длится около 0,89, где numberOfRows и numberOfCols:
const uint32_t numRows = 10000;
const uint32_t numCols = 20000;
Принимая во внимание, что инициализация динамического массива с помощью следующего кода занимает 0,04 с:
float **matrix = new float*[numberOfRows];
for (size_t i = 0; i < numberOfRows; ++i)
matrix[i] = new float[numberOfCols];
Я что-то не так делаю, есть ли более быстрый способ инициализации этого вектора?
Редактировать:
Что касается вопросов:
Я использовал g ++ - 4.5 для тестирования, используя уровень оптимизации O3 со стандартом по умолчанию.