【发布时间】:2010-10-15 11:15:12
【问题描述】:
我在我的一个项目中使用了二维矩阵。就像C++ FAQ Lite 建议的那样。
巧妙的是,您可以像这样使用它:
int main()
{
Matrix m(10,10);
m(5,8) = 106.15;
std::cout << m(5,8);
...
}
现在,我有一个由顶点组成的图,每个顶点都有一个指向 2D 矩阵的公共指针(只是为了示例的简单),如上所示。现在我确实有一个非常难看的语法来访问它。
(*sampleVertex.some2DTable)(0,0) = 0; //bad
sampleVertex.some2DTable->operator()(0,0) = 0; //even worse...
可能由于我对运算符重载缺乏经验,我在这里遗漏了一些语法糖。有没有更好的解决方案?
【问题讨论】:
标签: c++ matrix operator-overloading syntactic-sugar