我用c ++编写了自己的Array类,并重载了数组下标[]运算符,代码:
inline dtype &operator[](const size_t i) { return _data[i]; }
inline dtype operator[](const size_t i) const { return _data[i];}
Run Code Online (Sandbox Code Playgroud)
其中_data是指向包含数组的内存块的指针.分析表明,这个重载运算符单独占用总计算时间的10%(在长蒙特卡罗模拟中,我使用g ++进行最大优化编译).这似乎很多,任何想法为什么会这样?
编辑:dtype是double,而_data是指向double数组的指针