91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c++ erase函數的用法是什么

c++
小億
291
2024-02-02 15:24:50
欄目: 編程語言

在C++中,erase()函數用于從容器中刪除一個或多個元素。

erase()函數有多種用法:

  1. 刪除單個元素:通過指定要刪除的元素的位置或迭代器,可以使用erase()函數刪除單個元素。

    例如,對于向量(vector)容器,可以使用以下代碼刪除位置為i的元素:

    vector<int> myVector = {1, 2, 3, 4, 5};
    myVector.erase(myVector.begin() + i);
    

    或者,可以使用迭代器刪除元素:

    vector<int>::iterator it = myVector.begin() + i;
    myVector.erase(it);
    
  2. 刪除范圍內的元素:通過指定要刪除的元素的范圍,可以使用erase()函數刪除一個范圍內的元素。

    例如,對于向量(vector)容器,可以使用以下代碼刪除位置從i到j的元素:

    vector<int> myVector = {1, 2, 3, 4, 5};
    myVector.erase(myVector.begin() + i, myVector.begin() + j + 1);
    

    或者,可以使用迭代器刪除范圍內的元素:

    vector<int>::iterator start = myVector.begin() + i;
    vector<int>::iterator end = myVector.begin() + j + 1;
    myVector.erase(start, end);
    
  3. 刪除滿足條件的元素:通過使用謂詞,可以使用erase()函數刪除滿足某個條件的元素。

    例如,對于向量(vector)容器,可以使用以下代碼刪除所有等于特定值的元素:

    vector<int> myVector = {1, 2, 3, 4, 5};
    int value = 3;
    myVector.erase(std::remove(myVector.begin(), myVector.end(), value), myVector.end());
    

    在上述代碼中,std::remove()函數會將等于特定值的元素移到容器的末尾,然后erase()函數將這些元素刪除。

需要注意的是,erase()函數只適用于能夠使用迭代器訪問的容器,如向量(vector),鏈表(list),集合(set)等。對于關聯容器,如映射(map)和哈希表(unordered_map),需要使用特定的刪除函數,如erase()或erase_if()。

0
阳新县| 旬邑县| 来宾市| 北流市| 潮安县| 巴彦县| 泰州市| 繁峙县| 措美县| 永康市| 林周县| 曲周县| 许昌县| 会同县| 门头沟区| 甘洛县| 武清区| 日喀则市| 铜川市| 东城区| 黎城县| 乌拉特前旗| 江陵县| 京山县| 剑阁县| 襄城县| 定襄县| 兰州市| 九龙坡区| 潢川县| 顺义区| 九寨沟县| 玉环县| 永登县| 青冈县| 宽城| 锦屏县| 北辰区| 齐河县| 岑巩县| 连山|