【发布时间】:2015-01-20 20:14:12
【问题描述】:
class matrix {
public:
int **A;
int nrColoane;
int nrLinii;
public:
int& operator[] (int nrLinii, int nrColoane);
};
【问题讨论】:
-
通常的做法是使用函数调用运算符,因为它可以接受多个参数。
-
要对二维矩阵和运算符 [] 执行此操作,您需要返回所谓的代理对象。它包含指向原始对象和指定行的指针。然后它的运算符 [] 将检索该列的值。但是使用 operator() 更简单。 Ps 为你的数据使用一维向量,索引计算
x + y * width效率更高。 -
@Neil:拜托,cmets 是二等公民,可以随时删除,因此将这种智慧放在评论中完全没有意义。写一个答案!
标签: c++