首頁 >後端開發 >C++ >C++ 中的陣列與向量有什麼不同?

C++ 中的陣列與向量有什麼不同?

WBOY
WBOY原創
2024-06-02 12:25:58343瀏覽

在 C++ 中,陣列是固定大小的資料結構,需要在建立時指定大小,而向量是動態大小的資料結構,大小可以在執行時變更。陣列使用 [] 運算子存取和修改元素,而向量使用 push_back() 方法添加元素和 [] 運算子存取元素。數組需要使用 delete[] 釋放內存,而向量使用 erase() 刪除元素。

C++ 中的数组与向量有什么区别?

C++ 中的陣列與向量:區別與實戰

在C++ 中,陣列與向​​量都是用來儲存同類型資料的集合。然而,它們在創建、存取和管理資料方面有一些關鍵區別。

陣列

陣列是固定大小的資料結構,其大小在建立時指定。使用 [] 運算子存取和修改數組中的元素。

int myArray[5] = {1, 2, 3, 4, 5};

cout << myArray[2]; // 输出 3
myArray[3] = 10;  // 将元素 4 替换为 10

向量

向量是動態大小的資料結構,其大小可以在執行時變更。使用 push_back() 方法新增元素,使用 [] 運算子存取和修改元素。

vector<int> myVector; // 创建一个空向量

myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);

cout << myVector[1]; // 输出 2
myVector[2] = 10;  // 将元素 3 替换为 10

區別

特性 #陣列 向量
大小 固定 動態
#建立 需要指定大小 #無需指定大小
新增元素 使用myArray[index] 使用myVector.push_back()
刪除元素 使用delete[] myArray; 使用myVector.erase()

實戰案例

########################################################使用陣列計算平均值###
int main() {
    int myArray[5] = {1, 2, 3, 4, 5};

    int sum = 0;
    for (int i = 0; i < 5; i++) {
        sum += myArray[i];
    }

    double average = (double)sum / 5;

    cout << average << endl;

    return 0;
}
###使用向量儲存學生成績###
int main() {
    vector<int> scores;

    scores.push_back(85);
    scores.push_back(90);
    scores.push_back(95);

    for (vector<int>::iterator it = scores.begin(); it != scores.end(); it++) {
        cout << *it << endl;
    }

    return 0;
}

以上是C++ 中的陣列與向量有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn