亚洲 国产精品 日韩-亚洲 激情-亚洲 欧美 91-亚洲 欧美 成人日韩-青青青草视频在线观看-青青青草影院

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  應聘面試  >  物聯網面試題  > STL教程(三):C++ STL常用容器之string

STL教程(三):C++ STL常用容器之string

來源:千鋒教育
發布人:syq
時間: 2022-07-11 17:00:00 1657530000

  一、string本質

  string是一個類,類似于java中的string類。利用string類可以定義其對應的string對象。

  二、string產生原因

  C風格字符串(以空字符結尾的字符數組)太過復雜難于掌握,不適合大程序的開發,所以C++標準庫定義了一種string類,定義在頭文件。

  注意:

  ·要使用string類要引入庫

  ·string首字母s就是小寫,不要大寫,和java不一樣

  ·string封裝了很多實用的成員方法

  ·string封裝了char,管理這個字符串,是一個char型的容器。

  ·不用考慮內存釋放和越界

  三、string容器的常用操作

  1、string構造函數

string();//創建一個空的字符串 例如: string str; string(const string& str);//使用一個string對象初始化另一個string對象 string(const char* s);//使用字符串s初始化 string(int n, char c);//使用n個字符c初始化

  2、string基本賦值操作

string& operator=(const char* s);//char*類型字符串 賦值給當前的字符串

string& operator=(const string &s);//把字符串s賦給當前的字符串

string& operator=(char c);//字符賦值給當前的字符串

string& assign(const char *s);//把字符串s賦給當前的字符串

string& assign(const char *s, int n);//把字符串s的前n個字符賦給當前的字符串

string& assign(const string &s);//把字符串s賦給當前字符串

string& assign(int n, char c);//用n個字符c賦給當前字符串

string& assign(const string &s, int start, int n);//將s從start開始n個字符賦值給字符 串

案例:

#include <iostream> #include <string> using namespace std; void test01() { 

//string(const char* s);//使用字符串s初始化

string str1("hello world"); 

cout<<str1<<endl; 

 

//string(int n, char c);//使用n個字符c初始化

string str2(5,'a'); 

cout<<str2<<endl; 

 

//string& operator=(const char* s);//char*類型字符串 賦值給當前的字符串

string str3; 

str3 = "hello world"; 

 

string str4; 

str4 = str3; 

string str5; 

str5 ='H'; 

cout<<str3<<endl; 

cout<<str4<<endl; 

cout<<str5<<endl; 

 

string str6="hello wrold"; 

string str7; 

str7.assign(str6, 2, 3); 

cout<<str7<<endl; 

string str8; 

str8.assign("world", 4);

cout<<str8<<endl; }int main(){ 

test01() ;

return EXIT_SUCCESS; }

4

  3、string存取字符操作

char& operator[](int n);//通過[]方式取字符 char& at(int n);//通過at方法獲取字符

案例:

#include <iostream> #include <string> using namespace std; void test02() 

 { 

 string str1="hello world"; 

 cout<<str1[1]<<endl; 

 cout<<str1.at(1)<<endl; 

 

 str1[4]='H'; 

 str1.at(1)='E'; 

 cout<<str1<<endl; 

 

 //[] 訪問元素越界 不會拋出異常

 //at 訪問元素越界 會拋出異常

 try 

 { 

 //str1[1000]='H';

 str1.at(1000)='H'; 

 }

 catch(exception &e) 

 { 

cout<<e.what()<<endl; 

 } 

 cout<<"結束了"<<endl; 

 }int main(){ 

test02() ;

return EXIT_SUCCESS; }

5

  4、string拼接操作

string& operator+=(const string& str);//重載+=操作符

string& operator+=(const char* str);//重載+=操作符

string& operator+=(const char c);//重載+=操作符

string& append(const char *s);//把字符串s連接到當前字符串結尾

string& append(const char *s, int n);//把字符串s的前n個字符連接到當前字符串結尾

string& append(const string &s);//同operator+=()

string& append(const string &s, int pos, int n);//把字符串s中從pos開始的n個字符連接到 當前字符串結尾

string& append(int n, char c);//在當前字符串結尾添加n個字符c

  5、string查找和替換

int find(const string& str, int pos = 0) const; //查找str第一次出現位置,從pos開始查找 int find(const char* s, int pos = 0) const; //查找s第一次出現位置,從pos開始查找 int find(const char* s, int pos, int n) const; //從pos位置查找s的前n個字符第一次位置 int find(const char c, int pos = 0) const; //查找字符c第一次出現位置 int rfind(const string& str, int pos = npos) const;//查找str最后一次位置,從pos開始查找int rfind(const char* s, int pos = npos) const;//查找s最后一次出現位置,從pos開始查找 int rfind(const char* s, int pos, int n) const;//從pos查找s的前n個字符最后一次位置 int rfind(const char c, int pos = 0) const; //查找字符c最后一次出現位置

string& replace(int pos, int n, const string& str); //替換從pos開始n個字符為字符串

str string& replace(int pos, int n, const char* s); //替換從pos開始的n個字符為字符串s

  6、string比較操作

/*

compare函數在>時返回 1,<時返回 -1,==時返回 0。

比較區分大小寫,比較時參考字典順序,排越前面的越小。

大寫的A比小寫的a小。

*/int compare(const string &s) const;//與字符串s比較 int compare(const char *s) const;//與字符串s比較

  7、string子串

string substr(int pos = 0, int n = npos) const;//返回由pos開始的n個字符組成的字符串

  8、string插入和刪除操作

string& insert(int pos, const char* s); //插入字符串

string& insert(int pos, const string& str); //插入字符串

string& insert(int pos, int n, char c);//在指定位置插入n個字符c

string& erase(int pos, int n = npos);//刪除從Pos開始的n個字符

  9、string和c-style字符串轉換

//string 轉 char*

string str = "itcast"; const char* cstr = str.c_str(); //char* 轉 string char* s = "itcast";

string str(s);

案例:

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

 void test03() 

 { 

 string str1="hello"; 

 str1.insert(2,"haha");

 cout<<str1<<endl; 

 

 string str2="hello"; 

 str2.insert(2,3,'a'); 

 cout<<str2<<endl; 

 

 str2.erase(2,3); 

 cout<<str2<<endl; 

 cout<<str2.size()<<endl; 

 

 string str; 

 char *p = "hello"; 

 

 //char * 轉 string (可以)

 str = p; 

 cout<<str<<endl; 

 

 string str5="hello"; 

 //string 轉 char * (不可以)

 //const char *p1 = str5;//err

 const char *p1 = str5.c_str(); 

 cout<<p1<<endl; 

 }int main(){ 

test03() ;

return EXIT_SUCCESS; }

6

 

  在c++中存在一個從const char到string的隱式類型轉換,卻不存在從一個string對象到C_string的自動類 型轉換。對于string類型的字符串,可以通過c_str()函數返回string對象對應的C_string. 通常,程序員在整個程序中應堅持使用string類對象,直到必須將內容轉化為char時才將其轉換為C_string.

  提示:為了修改string字符串的內容,下標操作符[]和at都會返回字符的引用。但當字符串的內存被重新分配之后,可能發生錯誤。

  更多關于物聯網培訓的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓服務經驗,采用全程面授高品質、高體驗培養模式,擁有國內一體化教學管理及學員服務,助力更多學員實現高薪夢想。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
天堂АⅤ在线最新版在线| 黑人强伦姧人妻完整版| 国产午夜精品一区二区三区| 精品人人妻人人爽D∨D| 男人J桶进女人P无遮挡| 日韩无码视频三区| 亚洲AV色无码乱码在线观看| 曰韩人妻无码一区二区三区综合部| JΑPΑN丰满人妻HDXXXX| 公交车被CAO得合不拢腿视频| 好硬啊一进一得太深了A片69| 裸体美女洗澡啪啪裸J网站| 日本强伦姧人妻完视频正版| 亚洲AV成人一区二区三区在线观| 在线成人A毛片免费播放| 成年无码AV片在线狼人| 国产亚洲午夜高清国产拍精品| 久久亚洲精精品中文字幕| 日本丶国产丶欧美色综合| 羞羞汗汗YY歪歪漫画AV漫画| 中文字幕有码中文无码| 国产精品99久久久久久猫咪| 久久青草亚洲AV无码麻豆| 日韩AⅤ无码AV一区二区三区| 亚洲AV鲁丝一区二区三区| 18禁裸乳无遮挡啪啪无码免费| 丰满少妇爆乳无码专区| 久久精品国产亚洲AV麻| 日韩成人无码一区二区三区| 亚洲人成网站18禁止无码| 宝贝把腿张开我要添你下边动态图 | 中文字幕乱码亚洲∧V日本| 国产98在线 | 免费| 久久夜色撩人精品国产| 天天干天天射天天操| 张柏芝阿娇全套无删减1313 | 少妇无码人妻一区二区三区| 亚洲一区二区三区在线观看网站 | 久久久久久精品天堂无码中文字幕 | 女人丝不挂的正面裸体| 小寡妇高潮喷水了| AVTT天堂网AV无码| 教官在我腿中疯狂律动H| 日本SM/羞辱/调教/捆绑视频| 亚洲欧美成人一区二区三区| 嗯快点别停舒服好爽受不了了| 久久伊人精品一区二区三区| 无码办公室丝袜OL中文字幕| 19岁MACBOOKPRO日本| 果冻传媒AⅤ毛片无码蜜桃| 人人妻人人澡人人爽人人 | 天天躁日日躁狠狠躁视频2021 | 亚洲欧美在线制服丝袜国产| 儿子比老公更大更硬朗| 免费A级毛片18禁网站APP| 小雪要撑破了黑人好大| MM131美女图片高清图片视频| 精产国品一二三产区别手机| 十八禁无码精品A∨在线观看| 综合激情丁香久久狠狠| 黑人AV免费电影| 少妇愉情理伦片高潮日本| 67194熟妇人妻欧美日韩| 寂寞夜晚看的MV字幕高清网站| 日日狠狠久久偷偷色综合| 中文字幕一精品亚洲无线一区| 和教练在车里干了我三次| 少妇呻吟喷水视频正在播放| 99久久无码一区人妻A黑| 久久精品囯产精品亚洲| 午夜天堂一区人妻| 炖肉计(是今)海棠| 欧美性猛交XXX嘿人猛交| 荫蒂添的好舒服视频囗交| 国内精品伊人久久久久网站| 熟妇高潮精品区一区二区三| H漫全彩纯肉无码网站| 巨爆乳中文字幕巨爆区巨爆乳无码| 先锋中文字幕在线资源| 饭桌上故意张开腿让公在线看| 女人和拘做受A级毛片| 野花日本大全免费观看2019| 国产一区二区三区自产| 特黄 做受又硬又粗又大视频| Www内射熟妇COm| 蜜桃久久精品成人无码AV| 亚洲欧洲精品成人久久曰| 国产男男GaYGaY无套| 少妇人妻偷人精品无码视频新浪| WWW国产精品内射老熟女| 妺妺窝人体色www聚色窝图| 亚洲一区无码中文字幕| 黑料吃瓜网998.SU永久有效| 五十老熟女高潮嗷嗷叫| 妇女被深耕过后的变化| 人妻少妇乱孑伦无码专区蜜柚| 中文字幕熟妇人妻在线视频| 久久久久久久亚洲AV无码| 亚洲欧洲国产综合AⅤ无码| 国精产品一二三四线免费| 无遮挡粉嫩小泬久久久久久久动漫| 嗯快点别停舒服好爽受不了了| 日本久久久久亚洲中字幕| YYY6080韩国三级理论| 欧美饥渴熟妇高潮喷水水| 中文字幕爆乳JULIA女教师| 老师上课没戴奶罩看到奶头| 亚洲中文字幕无码爆乳| 久久99国产精品久久99软件 | 国内精品久久久久久久久电影网| 无码人妻AⅤ一区二区三区夏目 | 草莓视频APP无限观看| 欧美熟妇黑人ⅩXXXXX| CSGO白嫖网站| 欧洲精品免费一区二区三区| VIDEOSSEX变态狂另类| 漂亮人妻洗澡被公强BD| 八戒八戒WWW资源高清| 人人澡人人妻人人爽人人蜜桃麻豆| CSGO高清大片视频| 人妻少妇粗大持久满足| 把腿张开老子臊烂h视频| 日本丰满熟妇乱XXXXX故事| 成人国产精品一区二区网站免费| 日韩AV在线一区二区| 丰满人妻视频一区二区三区| 熟妇高潮一区二区在线播放| 国产风流老太婆大BBBHD视频| 玩弄丰满熟妇乱XXXXX性多毛| 国产精品久久久久久久影院| 性高朝久久久久久久| 狠狠躁日日躁夜夜躁2022麻豆| 亚洲男人成人性天堂网站| 久久久久久久女国产乱让韩 | 亚洲国产AV一区二区三区丶| 久久国产精品免费一区| 永久免费AV网站| 欧美成人精品高清视频| しぼっちうぞ2在线观看1一| 日韩码一码二码三码区别| 国产互换人妻好紧HD无码| 亚洲AV无码专区在线电影天堂| 痉挛高潮喷水AV无码免费| 制服视频在线一区二区| 啪啪啪1000免费观看| 国产 | 欧洲野花视频欧洲1| 小莫骚麦歌曲播放MP3| 九月九电影免费观看| 综合无码一区二区三区四区五区| 欧美伊人色综合久久天天| 嗯啊开小嫩苞HHH好深男男| 五月丁香综合缴情六月小说| 精品久久久久久无码人妻热| 中国熟妇牲交视频| 日本三级吃奶头添泬| 国产乱码一二三区精品| 亚洲熟妇AV乱码在线观看| 欧美18VIDEOSEX性极品| 大香伊蕉在人线国产2020年| 性中国妓女毛茸茸视频| 久久久久亚洲AV成人无码电影| 99久久免费只有精品国产| 试看AAAA啪啪片120秒| 好硬啊一进一得太深了A片69| 在厨房被C到高潮A毛片奶水| 人妻少妇(11一32)章| 国产剧情MV天美传媒| 一本加勒比HEZYO无码人妻| 秋霞免费理论片在线观看| 国产精品免费久久久久软件| 亚洲夜夜欢A∨一区二区三区| 欧美人与动牲交XXXXBBBB| 国产成人无码免费视频在线| 亚洲欧美一区二区成人片牛牛| 欧美丰满熟妇性XXXX偷拍偷拍| 国产AV麻豆MAG剧集| 亚洲日韩精品无码专区网址| 欧美精品亚洲精品日韩传电影| 国产精品VA无码一区二区| 亚洲愉拍自拍欧美精品| 人妻中文字幕AV无码专区| 国产熟睡乱子伦视频在线观看| 荫蒂添的好舒服视频囗交| 搡老女人911熟妇老熟女| 精品久久久久中文字幕日本| CHRISTMAS农村夫妻HO| 小寡妇高潮喷水了| 女子遭遇疯狂侵犯| 国产麻豆MD传媒视频| 13277大但人文艺术日本活动| 天堂SV在线最新版在线| 老阿姨哔哩哔哩B站肉片入口6| 丁香五月婷婷色人阁TP精品| 亚洲欧洲日产国码无码久久99| 人妻丝袜另类欧美偷拍视频| 激情综合激情五月俺也去| 暴躁老阿姨CSGO| 亚洲精品无码专区| 色777狠狠狠综合| 久久亚洲美女精品国产精品|