我们正在编写一个将一些数据写入数组的方法(myFunc)。数组必须是类 (MyClass) 的字段。例子:
class MyClass {
public:
MyClass(int dimension);
~MyClass();
void myFunc();
protected:
float* _nodes;
};
MyClass::MyClass(int dimension){
_nodes = new float[dimension];
}
void MyClass::myFunc(){
for (int i = 0; i < _dimension; ++i)
_nodes[i] = (i % 2 == 0) ? 0 : 1;
}
myFunc 方法被调用了近 10000 次,它需要近 9-10 秒(使用其他方法)。
但是如果我们将 myFunc 定义为:
void MyClass::myFunc(){
float* test = new float[_dimension];
for (int i = 0; i < _dimension; ++i)
test[i] = (i % 2 == 0) ? 0 : 1;
}
我们的程序运行得更快 - 它需要将近 2-3 秒(如果它的调用次数接近 10000 次)。
提前致谢!