在C++中,operator[]
是一個重載運算符,用于訪問類或結構體中的元素。它通常用于重載數組下標操作符,允許像訪問數組一樣訪問類的成員。例如,可以在自定義的類中重載operator[]
來實現類似數組的訪問操作。
operator[]
通常被用于重載為兩個版本:一個用于常量對象,一個用于非常量對象。常量對象版本返回常量引用,非常量對象版本返回非常量引用,以允許修改被訪問的元素。
示例代碼如下:
class MyClass {
public:
int& operator[](int index) {
return data[index];
}
const int& operator[](int index) const {
return data[index];
}
private:
int data[5] = {1, 2, 3, 4, 5};
};
int main() {
MyClass myObj;
// 獲取第三個元素的值
int value = myObj[2];
// 修改第一個元素的值
myObj[0] = 10;
return 0;
}
在上面的例子中,MyClass
類重載了operator[]
以允許訪問類中的數組元素。operator[]
接受一個整數參數作為索引,并返回相應位置的元素引用。