最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++中的erase()函數(shù)用法小結

 更新時間:2025年03月13日 09:34:49   作者:奶茶戒斷高手  
本文主要介紹了C++中的erase()函數(shù)用法小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在 C++ 中,erase() 是 std::string 和 std::vector 等容器中的成員函數(shù),用于刪除容器中的元素。erase可以刪去容器中指定位置的元素,容器的size(大?。淖儯侨萜鞯娜萘坎蛔?。

常用用法:

1. 刪除指定位置的單個元素

str.erase(pos,1)//刪除字符串pos位置的單個字符
vec.erase(vec.begin()+pos)//刪除vector容器中pos位置的單個字符

2. 刪除指定范圍內的元素

str.erase(firstpos, n);//字符串,從位置firstpos開始,刪除n個字符
vec.erase(vec.begin() + firstpos, vec.begin() + lastpos);//刪除指定范圍為 [first, last)

注意:在字符串中str.erase(pos)是刪除str[pos]及之后所有字符元素,并不是只刪除str[pos]。

下面詳細描述不同容器中的erase()函數(shù)

string中的erase()

1. 刪除指定位置的單個字符

2. 刪除某個字符(刪除第一個出現(xiàn)的字符)

3. 刪除指定位置到結尾的所有字符

4. 刪除指定范圍字符

5. 刪除整個字符串字符

示例代碼:

#include <iostream>
#include <string>

using namespace std;

int main() {
    string str = "Hello, World!";
    
    //1. 刪除指定位置的單個字符 
    str.erase(5, 1);// 刪除索引為 5 的字符(即 ',')
    cout <<"erase(pos,1):"<< str << endl;  // 輸出:Hello World!
    
    //2. 刪除第一個出現(xiàn)的字符 'o'
    string str1 = "Hello, World!";
    size_t pos = str.find('o');
    if (pos != string::npos) {
        str1.erase(pos, 1);  // 刪除找到的字符
    }
    cout <<"erase('o'pos,1):"<< str1 << endl;  // 輸出:Hell, World!
    
    //3. 刪除指定位置到結尾的所有字符
    string str2 = "Hello, World!";
    str2.erase(5); // 從索引 5 開始,刪除所有字符
    cout <<"erase(pos):"<< str2 << endl;  // 輸出:Hello
    
    //4. 刪除指定范圍字符
    string str3 = "Hello, World!";
    str3.erase(0, 5);  // 從位置 0 開始,刪除 5 個字符
    cout <<"erase(pos,n):"<< str3<< endl;  // 輸出:, World!
    
    //5. 刪除整個字符串字符
    string str4 = "Hello, World!";
    str4.erase(0, str4.length());// 刪除從第 0 個字符開始的所有字符
    cout <<"erase(0, str.length():"<< str4 << endl;  // 輸出:空字符串
	 
    return 0;
}

vector中的erase()

在 std::vector 中,erase() 用于刪除指定位置的元素或元素范圍。

1. 刪除單個元素

2. 刪除指定范圍的元素

3. 刪除所有元素

示例代碼:

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
	//1. 刪除指定位置的單個元素 
    vector<int> vec = {1, 2, 3, 4, 5};
    vec.erase(vec.begin() + 2);// 刪除位置為 2 的元素(即 3)
    cout << "erase(vec.begin()+pos):";
    for (int val : vec) {
        cout<<val << " ";  // 輸出:1 2 4 5
    }
    cout<<endl; 
    
    //2. 刪除指定范圍的元素
    vector<int> vec1 = {1, 2, 3, 4, 5};
    vec1.erase(vec1.begin() + 1, vec1.begin() + 4);// 刪除索引 1 到 3 范圍的元素(即 2, 3, 4)
    cout << "erase[1,4):";
    for (int val : vec1) {
        cout<<val << " ";  // 輸出:1 5
    }
    cout<<endl; 
    
    //3. 刪除所有元素
    vector<int> vec2 = {1, 2, 3, 4, 5};
    vec2.erase(vec2.begin(), vec2.end());
    cout << "Size of vector: " << vec2.size() << endl;  // 輸出:Size of vector: 0
    
	 
    return 0;
}

注意一種錯誤用法:不能直接erase要刪除的字母,必需先找到它的位置

另外在list中也可以使用erase()函數(shù),用于刪除指定位置的元素或元素范圍。由于list 是雙向鏈表,刪除操作效率較高(不需要移動元素,只需修改指針)。由于使用較少,在這里不做解釋。

到此這篇關于C++中的erase()函數(shù)用法小結的文章就介紹到這了,更多相關C++ erase()內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關文章

  • 最新clion2020激活碼附安裝教程(親測有效)

    最新clion2020激活碼附安裝教程(親測有效)

    這篇文章主要介紹了最新clion2020激活碼附安裝教程(親測有效),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • C++ stack與queue使用方法詳細講解

    C++ stack與queue使用方法詳細講解

    stack是一種容器適配器,專門用在具有后進先出操作的上下文環(huán)境中,其刪除只能從容器的一端進行 元素的插入與提取操作;隊列是一種容器適配器,專門用于在FIFO上下文(先進先出)中操作,其中從容器一端插入元素,另一端提取元素
    2023-01-01
  • C語言開發(fā)實現(xiàn)通訊錄管理系統(tǒng)

    C語言開發(fā)實現(xiàn)通訊錄管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C語言開發(fā)實現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C++實現(xiàn)LeetCode(153.尋找旋轉有序數(shù)組的最小值)

    C++實現(xiàn)LeetCode(153.尋找旋轉有序數(shù)組的最小值)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(153.尋找旋轉有序數(shù)組的最小值),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • 基于OpenCV?差分法實現(xiàn)綠葉識別

    基于OpenCV?差分法實現(xiàn)綠葉識別

    物體識別是圖像處理學在現(xiàn)實生活中較多的應用之一,本文提供了一種相對簡單的思路來實現(xiàn)綠葉識別,適合初學圖像處理的新人研究參考。感興趣的同學可以關注一下
    2021-11-11
  • C語言數(shù)字圖像處理之直方圖均衡化

    C語言數(shù)字圖像處理之直方圖均衡化

    這篇文章主要為大家詳細介紹了C語言數(shù)字圖像處理之直方圖均衡化,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • websocket++簡單使用及實例分析

    websocket++簡單使用及實例分析

    下面小編就為大家?guī)硪黄獁ebsocket++簡單使用及實例分析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • C++ 逗號運算符的具體使用

    C++ 逗號運算符的具體使用

    本文主要介紹了C++ 逗號運算符的具體使用,使用逗號運算符是為了把幾個表達式放在一起,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • C++ 11和C++98相比有哪些新特性

    C++ 11和C++98相比有哪些新特性

    C++11標準提供了許多有用的新特性。這篇文章特別針對使C++11和C++98相比看上去像一門新語言的特性
    2017-03-03
  • C++實現(xiàn)LeetCode(187.求重復的DNA序列)

    C++實現(xiàn)LeetCode(187.求重復的DNA序列)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(187.求重復的DNA序列),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07

最新評論

新兴县| 筠连县| 柘城县| 南皮县| 津市市| 长岛县| 兰溪市| 黑河市| 浑源县| 桦南县| 翼城县| 上高县| 垣曲县| 黔东| 定边县| 金秀| 成安县| 陆良县| 弥渡县| 永顺县| 陈巴尔虎旗| 合水县| 巴楚县| 美姑县| 凌海市| 香港| 尼木县| 枣庄市| 元江| 泗水县| 桦南县| 衡东县| 丹阳市| 赤水市| 阜康市| 比如县| 镇宁| 饶河县| 偃师市| 万山特区| 东平县|