我正在尝试使用Matlab方法来获取矩阵元素。例如,如果我在MatLab中有以下内容:
>> A = [1 2; 3 4]
A =
1 2
3 4
>> A(1,1) = 5
将生成此输出:
A =
5 2
3 4
使用c ++中的operator()可以实现吗?提前谢谢。
@edit
对不起伙计们,我认为可以通过函数指针实现解决方案。
我试着变得更加平淡。我有一个类矩阵,我想使用operator()更改类的相应值,将相应的数字传递给行和列。
答案 0 :(得分:2)
template<size_t I, size_t J>
class M
{
public:
M(double e00, ...)
{
// use arg_list :)
}
double& operator () (int i, int j)
{
return m[i-1][j-1];
}
private:
double m[I][J];
};
M<2,2> A(1,2,3,4);
A(1,1)=5.0;