我对 C++ 比较陌生,所以才问这个问题。我正在尝试为数组中的读写操作重载 () 运算符。这是一个行优先数组,它将二维数组映射到一维。
这是我为读取操作编写的重载
//overloading read operator
const double& operator()const(int n, int m){
return arr_[n*column+m];
}
现在我需要编写一个写入重载,在读取重载返回的位置插入一个 double 值。
//overloading write operator
double& operator()(double d){
}
我到底该怎么做。任何帮助表示赞赏。
最佳答案
重载本身不会插入任何东西;它会返回一个 (non-const
) 引用,您可以使用它来分配给数组元素。重载将与您的 const
重载相同(除了这个之外您仍然需要它来访问常量对象),但没有任何 const
:
double& operator()(int n, int m){
return arr_[n*column+m];
}
如此使用
array(2,3) = 42;
关于c++ - C++ 数组中的重载运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28565679/