C++一維動態陣列意思

在C++中,動態陣列(Dynamic Array)是指陣列的大小可以在運行時改變,與定義時就固定大小的靜態陣列(Static Array)不同。一維動態陣列就是指只有一個下標維度的動態陣列。

一維動態陣列在C++中通常使用標準模板庫(STL)中的vector容器來實現。vector容器可以自動擴展和縮小它所管理的內存,以適應元素的增加或減少。

以下是如何使用vector來創建和操作一維動態陣列的示例:

#include <iostream>
#include <vector>

int main() {
    // 使用vector來創建一個一維動態陣列
    std::vector<int> numbers;

    // 向陣列中添加元素
    numbers.push_back(10);
    numbers.push_back(20);
    numbers.push_back(30);

    // 輸出陣列中的元素
    for (int number : numbers) {
        std::cout << number << " ";
    }
    std::cout << std::endl;

    // 刪除陣列中的元素
    numbers.erase(numbers.begin() + 1);

    // 再次輸出陣列中的元素
    for (int number : numbers) {
        std::cout << number << " ";
    }
    std::cout << std::endl;

    // 改變陣列的大小
    numbers.resize(5);

    // 輸出陣列中的元素,注意最後兩個元素是未初始化的
    for (int number : numbers) {
        std::cout << number << " ";
    }
    std::cout << std::endl;

    return 0;
}

這個示例中,我們首先定義了一個vector容器numbers,然後使用push_back方法向其中添加了三個元素。接著,我們使用一個for循環來輸出陣列中的元素。然後,我們刪除了陣列中的第二個元素,並再次輸出了剩下的元素。最後,我們使用resize方法將陣列的大小改變為5,並輸出了所有元素,注意到最後兩個元素是未初始化的。

使用vector來管理一維動態陣列比直接使用指針和動態內存分配(如使用newdelete)更加安全和高效,因為vector可以自動管理內存並且提供檢錯功能。