在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等。