STL之

爲何要寫STL淺談這個系列,由於最近我在準備藍橋杯,刷題的時候常常要用到STL,準備補一補,但一直沒有找到一個好的視頻和資料,最開始準備跟着c語言中文網學,但以爲太繁雜了,最後在b站(b站上計算機類的教學視頻挺多的)上找了一個視頻學的。這個系列至關於個人一個整理。ios

這個系列只是淺談,但刷題應該夠了。spa

今天講<string>,直接上代碼(本人文采有限,習慣代碼+註釋)。指針

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

int main()
{
    //輸入輸出
    string str1;
    //cin>>str1; //沒法輸入有空格的字符串 
    //cout<<str1<<endl;

    getline(cin, str1); //輸入一行字符串 
    cout << str1 << endl;

    //字符串拼接 
    string str2 = "hello";
    str2 += " world!";
    cout << str2 << endl; //str2="hello wrold!"

    //字符串刪除指定元素 
    str2.erase(str2.begin() + 1); //刪除元素'e'
    /*string.begin()頭迭代器,指向第一個元素
      string.end()尾迭代器,指向最後一個元素的後一個位置*/
    cout << str2 << endl; //str2="hllo wrold!"

    //字符串截取 
    str2 = "hello wrold";
    string str3 = str2.substr(1, 3); //第一個參數是起始下標,第二個參數是截取長度 
    cout << str3 << endl; //str3="ell"

    //for循環
    for (int i = 0; i < str2.length(); i++) //字符串長度:str.length()
        cout << str2[i];
    cout << endl;
    //迭代器循環
    for (string::iterator it = str2.begin(); it < str2.end(); it++)
        cout << *it;
    cout << endl;
    //auto指針 
    for (auto it = str2.begin(); it < str2.end(); it++)
        cout << *it;
    cout << endl;
    //foreach循環
    for (auto ch : str2)
        cout << ch;
    cout << endl;

    //字符串插入
    str2.insert(1, "ello"); //第一個參數是起始下標,第二個參數是插入字符串
    cout << str2 << endl; //str2="helloello wrold"

    //字符串交換
    str3 = "end!";
    str2.swap(str3);
    cout << str2 << endl; //str2 = "end!"
    return 0;
}
相關文章
相關標籤/搜索