operator[]在c++中的特性

c++
小樊
86
2024-08-11 04:18:39
欄目: 編程語言

在C++中,operator[]是一個(gè)重載運(yùn)算符,用于訪問類或結(jié)構(gòu)體中的元素。它通常用于重載數(shù)組下標(biāo)操作符,允許像訪問數(shù)組一樣訪問類的成員。例如,可以在自定義的類中重載operator[]來實(shí)現(xiàn)類似數(shù)組的訪問操作。

operator[]通常被用于重載為兩個(gè)版本:一個(gè)用于常量對(duì)象,一個(gè)用于非常量對(duì)象。常量對(duì)象版本返回常量引用,非常量對(duì)象版本返回非常量引用,以允許修改被訪問的元素。

示例代碼如下:

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;
    
    // 獲取第三個(gè)元素的值
    int value = myObj[2];
    
    // 修改第一個(gè)元素的值
    myObj[0] = 10;
    
    return 0;
}

在上面的例子中,MyClass類重載了operator[]以允許訪問類中的數(shù)組元素。operator[]接受一個(gè)整數(shù)參數(shù)作為索引,并返回相應(yīng)位置的元素引用。

0