在C++中,operator[]
是一種重載運算符,用于訪問類中的數(shù)組元素或容器中的元素。它允許像使用數(shù)組一樣使用類或容器。
例如,如果你有一個類包含一個私有數(shù)組成員變量,你可以重載operator[]
以便能夠通過類對象訪問數(shù)組元素。示例如下:
class MyClass {
private:
int arr[5] = {1, 2, 3, 4, 5};
public:
int& operator[](int index) {
return arr[index];
}
};
int main() {
MyClass obj;
std::cout << obj[2] << std::endl; // 輸出3,訪問數(shù)組第三個元素
obj[3] = 10; // 將數(shù)組第四個元素設置為10
std::cout << obj[3] << std::endl; // 輸出10
return 0;
}
在上面的例子中,MyClass
類重載了operator[]
,用于訪問私有數(shù)組arr
中的元素。在main
函數(shù)中,可以通過對象obj
使用obj[2]
來訪問數(shù)組第三個元素,并且可以使用obj[3]
來設置數(shù)組第四個元素的值。
除了自定義類,STL中的容器也提供了operator[]
的重載,允許通過下標訪問容器中的元素,例如std::vector
、std::map
等。