亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
类乌齐县| 寿宁县| 万山特区| 海安县| 崇阳县| 姚安县| 梨树县| 韶山市| 内乡县| 碌曲县| 安乡县| 昌平区| 开江县| 荣昌县| 海阳市| 定兴县| 什邡市| 滨海县| 中宁县| 彭泽县| 侯马市| 郴州市| 车险| 灌阳县| 汽车| 兰溪市| 谷城县| 兴义市| 教育| 昌图县| 崇阳县| 类乌齐县| 镇宁| 二连浩特市| 宁都县| 醴陵市| 保靖县| 千阳县| 通化市| 阜康市| 许昌县|