在C++中,operator[]
是一种重载运算符,用于访问类中的数组元素或容器中的元素。它允许像使用数组一样使用类或容器。
例如,如果你有一个类包含一个私有数组成员变量,你可以重载operator[]
以便能够通过类对象访问数组元素。示例如下:
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,访问数组第三个元素
obj[3] = 10; // 将数组第四个元素设置为10
std::cout << obj[3] << std::endl; // 输出10
return 0;
}
在上面的例子中,MyClass
类重载了operator[]
,用于访问私有数组arr
中的元素。在main
函数中,可以通过对象obj
使用obj[2]
来访问数组第三个元素,并且可以使用obj[3]
来设置数组第四个元素的值。
除了自定义类,STL中的容器也提供了operator[]
的重载,允许通过下标访问容器中的元素,例如std::vector
、std::map
等。