【发布时间】:2020-11-27 09:13:23
【问题描述】:
我在空闲时间编写一个小型科学计算库。而且我发现有人说将二维数组存储在一维数组中更快,您可以通过重载函数全部运算符来做到这一点。但是不知道怎么处理。
现在我认为函数数组应该这样做:
#include<iostream>
int main(){
int M=10;
int N=10;
double x[M*N];
cout<<x(m,n)<<endl;//print the m*N+n element of x
return 0;
}
我该怎么办?或者任何地方都说过。我在stackoverflow中看不到它......
x[m*N+n] 对于二维条件很有用。但是如果我是四维的话,就是x[m*A+n*B+p*C+l*D],每次用的时候都会写一个长段...
【问题讨论】:
-
正确的拼写是:dimension
-
正确的数组访问是
x[m*N + n] -
但是如果我有更多的维度,那就麻烦了。我可以通过重载函数调用运算符吗?@paddy
标签: c++ arrays class operator-overloading scientific-computing