温馨提示×

operator[]在c++中的特性

c++
小樊
85
2024-08-11 04:18:39
栏目: 编程语言

在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[]接受一个整数参数作为索引,并返回相应位置的元素引用。

0