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

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

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

在 C++ 中,erase() 是 std::string 和 std::vector 等容器中的成員函數(shù),用于刪除容器中的元素。erase可以刪去容器中指定位置的元素,容器的size(大?。?huì)改變,但是容器的容量不變。

常用用法:

1. 刪除指定位置的單個(gè)元素

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

2. 刪除指定范圍內(nèi)的元素

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

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

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

string中的erase()

1. 刪除指定位置的單個(gè)字符

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

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

4. 刪除指定范圍字符

5. 刪除整個(gè)字符串字符

示例代碼:

#include <iostream>
#include <string>

using namespace std;

int main() {
    string str = "Hello, World!";
    
    //1. 刪除指定位置的單個(gè)字符 
    str.erase(5, 1);// 刪除索引為 5 的字符(即 ',')
    cout <<"erase(pos,1):"<< str << endl;  // 輸出:Hello World!
    
    //2. 刪除第一個(gè)出現(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. 刪除指定位置到結(jié)尾的所有字符
    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 個(gè)字符
    cout <<"erase(pos,n):"<< str3<< endl;  // 輸出:, World!
    
    //5. 刪除整個(gè)字符串字符
    string str4 = "Hello, World!";
    str4.erase(0, str4.length());// 刪除從第 0 個(gè)字符開始的所有字符
    cout <<"erase(0, str.length():"<< str4 << endl;  // 輸出:空字符串
	 
    return 0;
}

vector中的erase()

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

1. 刪除單個(gè)元素

2. 刪除指定范圍的元素

3. 刪除所有元素

示例代碼:

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

int main() {
	//1. 刪除指定位置的單個(gè)元素 
    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;
}

注意一種錯(cuò)誤用法:不能直接erase要?jiǎng)h除的字母,必需先找到它的位置

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

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

您可能感興趣的文章:

相關(guān)文章

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

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

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

    C++ stack與queue使用方法詳細(xì)講解

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

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

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

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

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

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

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

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

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

    websocket++簡(jiǎn)單使用及實(shí)例分析

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

    C++ 逗號(hào)運(yùn)算符的具體使用

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

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

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

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

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

最新評(píng)論

莱阳市| 赤峰市| 克山县| 绥中县| 吐鲁番市| 黔东| 招远市| 贵阳市| 曲靖市| 东阿县| 皋兰县| 陇南市| 石首市| 雷波县| 隆尧县| 山阴县| 崇仁县| 旬邑县| 青河县| 惠水县| 尉氏县| 班戈县| 泾阳县| 江津市| 天镇县| 林周县| 贵南县| 娄底市| 余姚市| 施秉县| 铁岭县| 株洲县| 阿勒泰市| 从江县| 福州市| 南溪县| 新河县| 开封市| 淮滨县| 新田县| 清远市|