溫馨提示×

c++動(dòng)態(tài)數(shù)組擴(kuò)容的方法是什么

c++
小億
297
2024-02-02 15:54:46
欄目: 編程語言

在C++中,動(dòng)態(tài)數(shù)組可以通過以下兩種方法進(jìn)行擴(kuò)容:

  1. 使用newdelete操作符:

    • 創(chuàng)建一個(gè)新的較大的數(shù)組。
    • 將原始數(shù)組中的元素復(fù)制到新數(shù)組中。
    • 釋放原始數(shù)組的內(nèi)存。
    • 將指針指向新數(shù)組。

    示例代碼:

    int* array = new int[10]; // 創(chuàng)建一個(gè)初始大小為10的數(shù)組
    // ...
    int* newArray = new int[20]; // 創(chuàng)建一個(gè)新的較大數(shù)組
    for (int i = 0; i < 10; i++) {
        newArray[i] = array[i]; // 復(fù)制原始數(shù)組中的元素到新數(shù)組中
    }
    delete[] array; // 釋放原始數(shù)組的內(nèi)存
    array = newArray; // 將指針指向新數(shù)組
    
  2. 使用std::vector標(biāo)準(zhǔn)庫容器:

    • std::vector是C++標(biāo)準(zhǔn)庫提供的動(dòng)態(tài)數(shù)組容器,可以自動(dòng)進(jìn)行擴(kuò)容。
    • 使用std::vectorpush_back方法向容器中添加元素,當(dāng)容器容量不足時(shí)會(huì)自動(dòng)擴(kuò)容。

    示例代碼:

    #include <vector>
    // ...
    std::vector<int> vec; // 創(chuàng)建一個(gè)空的vector
    // ...
    vec.push_back(10); // 添加一個(gè)元素到vector中,當(dāng)vector容量不足時(shí)會(huì)自動(dòng)擴(kuò)容
    

以上兩種方法都可以實(shí)現(xiàn)動(dòng)態(tài)數(shù)組的擴(kuò)容,但使用std::vector更加簡潔和方便,推薦使用它來處理動(dòng)態(tài)數(shù)組。

0