c++ - 重载 [][] 运算符 c++

标签 c++ vector operator-overloading

<分区>

Possible Duplicate:
C++ Overloading : Overloading the [][] operator

我有一个类矩阵,它的数据存储在vector<vector<double> > _data中 我想重载 [][]运算符返回 _data[row][cols]

我环顾四周,但不太明白如何使用 vector 做到这一点的 vector

我知道我需要重载 []运算符,但它只接收一个参数。

正在考虑创建一个内部帮助程序类,但我无法完全理解这个。

有什么想法吗?

谢谢

最佳答案

你至少有两个选择:

  1. 创建自定义 MatrixRow存储矩阵的一行的类。此类可以重载 operator[]()返回行中的一个元素。然后你的矩阵类重载它自己的 operator[]()返回 MatrixRow .

  2. 过载 operator[]()在你的矩阵类中返回一个 vector<double> .然后你得到第二个operator[]()免费。

关于c++ - 重载 [][] 运算符 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14225761/

相关文章:

c++ - 使用 Boost::Test 测试 DLL?

android - 矢量图像对 Android 有用吗?

c++ - 创建分类音乐库的有效方法

c++ - 使用 GMOCK 在 C++ 中模拟新运算符

c++ - 从具有相反顺序的相同结构创建两个优先级队列

delphi - 如何使用重载运算符将空集分配给记录

c++ - 另一个C++学习时刻 : returning strings from functions

c++ - 对 `_imp__SetupDiGetClassDevsA@16' 的 undefined reference (即使使用 -lsetupapi)

c++ - 重命名 objective-c 目录中的多个文件

JavaScript 向量旋转