中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
扶沟县| 类乌齐县| 新昌县| 临西县| 栖霞市| 恩施市| 徐汇区| 泰顺县| 房山区| 镇坪县| 上饶市| 军事| 大悟县| 临潭县| 洪湖市| 波密县| 正定县| 郎溪县| 苍山县| 邵东县| 壤塘县| 雅安市| 石泉县| 昌宁县| 沅陵县| 岑溪市| 金溪县| 罗源县| 嫩江县| 沙田区| 龙陵县| 灌南县| 乌拉特中旗| 青龙| 大竹县| 古丈县| 温州市| 且末县| 驻马店市| 南木林县| 南昌县|