我有一个向量的向量,我正在尝试按照以下方式进行初始化:
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优化级别和默认标准。