溫馨提示×

c++中vector erase函數(shù)的作用是什么

c++
小億
132
2024-02-02 14:31:47
欄目: 編程語言

C++中的vector erase函數(shù)用于從向量中刪除一個或多個元素。它的作用是將指定位置的元素或指定范圍內的元素從向量中移除,并更新向量的大小。

erase函數(shù)有兩種使用方式:

  1. 刪除單個元素:傳遞一個迭代器參數(shù),指向要刪除的元素的位置,函數(shù)刪除該元素,并返回指向刪除元素后的下一個元素的迭代器。
  2. 刪除多個元素:傳遞兩個迭代器參數(shù),指定要刪除的元素范圍,函數(shù)刪除該范圍內的所有元素,并返回指向刪除元素后的下一個元素的迭代器。

例如,以下代碼演示了erase函數(shù)的使用:

#include <iostream>
#include <vector>

int main() {
    std::vector<int> numbers = {1, 2, 3, 4, 5};

    // 刪除單個元素
    numbers.erase(numbers.begin() + 2); // 刪除索引為2的元素

    // 刪除多個元素
    numbers.erase(numbers.begin(), numbers.begin() + 2); // 刪除前兩個元素

    // 輸出向量中的元素
    for (int num : numbers) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

輸出結果為:

4 5

在上面的示例中,向量開始時包含元素1, 2, 3, 4, 5。首先,erase函數(shù)用于刪除索引為2的元素,即數(shù)字3。然后,erase函數(shù)再次用于刪除索引為0和1的元素,即數(shù)字1和2。最后,向量中只剩下數(shù)字4和5,并且這些元素被輸出。

0