黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  應(yīng)聘面試  >  物聯(lián)網(wǎng)面試題  > STL教程(三):C++ STL常用容器之string

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

來(lái)源:千鋒教育
發(fā)布人:syq
時(shí)間: 2022-07-11 17:00:00 1657530000

  一、string本質(zhì)

  string是一個(gè)類,類似于java中的string類。利用string類可以定義其對(duì)應(yīng)的string對(duì)象。

  二、string產(chǎn)生原因

  C風(fēng)格字符串(以空字符結(jié)尾的字符數(shù)組)太過(guò)復(fù)雜難于掌握,不適合大程序的開(kāi)發(fā),所以C++標(biāo)準(zhǔn)庫(kù)定義了一種string類,定義在頭文件。

  注意:

  ·要使用string類要引入庫(kù)

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

  ·string封裝了很多實(shí)用的成員方法

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

  ·不用考慮內(nèi)存釋放和越界

  三、string容器的常用操作

  1、string構(gòu)造函數(shù)

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

  2、string基本賦值操作

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

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

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

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

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

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

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

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

案例:

#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個(gè)字符c初始化

string str2(5,'a'); 

cout<<str2<<endl; 

 

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

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);//通過(guò)[]方式取字符 char& at(int n);//通過(guò)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; 

 

 //[] 訪問(wèn)元素越界 不會(huì)拋出異常

 //at 訪問(wèn)元素越界 會(huì)拋出異常

 try 

 { 

 //str1[1000]='H';

 str1.at(1000)='H'; 

 }

 catch(exception &e) 

 { 

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

 } 

 cout<<"結(jié)束了"<<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連接到當(dāng)前字符串結(jié)尾

string& append(const char *s, int n);//把字符串s的前n個(gè)字符連接到當(dāng)前字符串結(jié)尾

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

string& append(const string &s, int pos, int n);//把字符串s中從pos開(kāi)始的n個(gè)字符連接到 當(dāng)前字符串結(jié)尾

string& append(int n, char c);//在當(dāng)前字符串結(jié)尾添加n個(gè)字符c

  5、string查找和替換

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

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

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

  6、string比較操作

/*

compare函數(shù)在>時(shí)返回 1,<時(shí)返回 -1,==時(shí)返回 0。

比較區(qū)分大小寫,比較時(shí)參考字典順序,排越前面的越小。

大寫的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開(kāi)始的n個(gè)字符組成的字符串

  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個(gè)字符c

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

  9、string和c-style字符串轉(zhuǎn)換

//string 轉(zhuǎn) char*

string str = "itcast"; const char* cstr = str.c_str(); //char* 轉(zhuǎn) 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 * 轉(zhuǎn) string (可以)

 str = p; 

 cout<<str<<endl; 

 

 string str5="hello"; 

 //string 轉(zhuǎn) char * (不可以)

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

 const char *p1 = str5.c_str(); 

 cout<<p1<<endl; 

 }int main(){ 

test03() ;

return EXIT_SUCCESS; }

6

 

  在c++中存在一個(gè)從const char到string的隱式類型轉(zhuǎn)換,卻不存在從一個(gè)string對(duì)象到C_string的自動(dòng)類 型轉(zhuǎn)換。對(duì)于string類型的字符串,可以通過(guò)c_str()函數(shù)返回string對(duì)象對(duì)應(yīng)的C_string. 通常,程序員在整個(gè)程序中應(yīng)堅(jiān)持使用string類對(duì)象,直到必須將內(nèi)容轉(zhuǎn)化為char時(shí)才將其轉(zhuǎn)換為C_string.

  提示:為了修改string字符串的內(nèi)容,下標(biāo)操作符[]和at都會(huì)返回字符的引用。但當(dāng)字符串的內(nèi)存被重新分配之后,可能發(fā)生錯(cuò)誤。

  更多關(guān)于物聯(lián)網(wǎng)培訓(xùn)的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國(guó)內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢(mèng)想。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
物聯(lián)網(wǎng)公司面試題:保障物聯(lián)網(wǎng)安全的措施有哪些?

題目:請(qǐng)談?wù)勀鷮?duì)物聯(lián)網(wǎng)安全的理解,以及在物聯(lián)網(wǎng)系統(tǒng)中保障安全性的措施?;卮穑何锫?lián)網(wǎng)安全是指在物聯(lián)網(wǎng)系統(tǒng)中保護(hù)設(shè)備、數(shù)據(jù)和通信免受未經(jīng)授...詳情>>

2023-07-26 11:59:27
物聯(lián)網(wǎng)中的邊緣計(jì)算是什么?請(qǐng)解釋其優(yōu)勢(shì)和應(yīng)用場(chǎng)景

答案:邊緣計(jì)算是一種將計(jì)算和數(shù)據(jù)處理能力移動(dòng)到物聯(lián)網(wǎng)設(shè)備附近的計(jì)算模型。在邊緣計(jì)算中,數(shù)據(jù)的處理和分析發(fā)生在接近數(shù)據(jù)源的設(shè)備或邊緣節(jié)點(diǎn)...詳情>>

2023-07-18 14:15:00
可以介紹一下js的內(nèi)部Date對(duì)象功能嗎

提供了操作時(shí)間和日期的方法擁有一系列屬性和方法,可以用來(lái)獲取系統(tǒng)當(dāng)前時(shí)間或者設(shè)置 Date 對(duì)象中的時(shí)間 通過(guò) getTime()方法可返回距 1970 年 ...詳情>>

2023-01-21 15:51:32
為什么需要三次握手,兩次不行嗎?

弄清這個(gè)問(wèn)題,我們需要先弄明白三次握手的目的是什么,能不能只用兩次握手來(lái)達(dá)到同樣的目的?!〉谝淮挝帐郑嚎蛻舳税l(fā)送網(wǎng)絡(luò)包,服務(wù)端收到了。...詳情>>

2022-10-25 16:55:00
什么是半連接隊(duì)列?

服務(wù)器第一次收到客戶端的 SYN 之后,就會(huì)處于 SYN_RCVD 狀態(tài),此時(shí)雙方還沒(méi)有完全建立其連接,服務(wù)器會(huì)把此種狀態(tài)下請(qǐng)求連接放在一個(gè)隊(duì)列里,...詳情>>

2022-10-25 16:55:00
快速通道
成人免费观看网欧美片| 久久久久久久免费视频| 日韩av片免费播放| 韩国毛片 免费| 亚洲 国产精品 日韩| 欧美激情一区二区三区视频 | 日韩中文字幕在线亚洲一区| 欧美一区二区三区在线观看| 黄色免费三级| 高清一级片| 国产91精品一区| 午夜在线亚洲| 国产高清在线精品一区二区| 国产一区精品| 欧美另类videosbestsex久久| 毛片的网站| 国产高清在线精品一区a| 国产麻豆精品hdvideoss| 黄色免费三级| 九九久久国产精品大片| 国产91丝袜在线播放0| 免费一级片网站| 亚洲第一视频在线播放| 精品视频免费在线| 日韩在线观看免费| 高清一级淫片a级中文字幕| 欧美国产日韩久久久| 国产综合91天堂亚洲国产| 九九干| 国产精品自拍一区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 亚久久伊人精品青青草原2020| 亚洲精品影院久久久久久| 国产一区二区福利久久| 亚洲爆爽| 日韩男人天堂| 免费一级片网站| a级毛片免费观看网站| 夜夜操网| 日本特黄一级| 久久99中文字幕久久| 国产91视频网| 天天色色网| 国产一区二区高清视频| 日韩中文字幕一区二区不卡| 青青青草影院| 精品视频在线观看一区二区三区| 人人干人人插| 国产视频一区二区三区四区| 成人a级高清视频在线观看| 成人免费观看男女羞羞视频| 久久精品成人一区二区三区| 久草免费在线观看| 国产一区二区精品久久91| 久久99青青久久99久久| 你懂的在线观看视频| 欧美另类videosbestsex久久 | 国产a毛片| 国产麻豆精品免费密入口| 亚洲天堂一区二区三区四区| 亚洲 激情| 精品国产一级毛片| 免费国产在线观看不卡| 黄视频网站在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 九九热精品免费观看| 中文字幕97| 青青久久国产成人免费网站| 日韩一级黄色大片| 日日日夜夜操| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 精品国产一区二区三区久久久蜜臀 | 国产成人女人在线视频观看| 日韩专区亚洲综合久久| 日韩在线观看视频黄| 黄视频网站免费观看| 中文字幕一区二区三区 精品| 九九免费高清在线观看视频| 91麻豆精品国产自产在线| 国产极品白嫩美女在线观看看| 精品视频免费观看| 精品国产一区二区三区久久久蜜臀 | 精品久久久久久免费影院| 精品国产三级a| 日韩在线观看免费| 亚洲www美色| 亚洲精品永久一区| 成人影院久久久久久影院| 色综合久久天天综线观看| 国产成人精品影视| 一级女性全黄生活片免费| 色综合久久久久综合体桃花网| 毛片的网站| 香蕉视频久久| 国产欧美精品| 国产伦久视频免费观看 视频| 国产一区二区精品| 国产高清在线精品一区二区| 麻豆污视频| 国产成人女人在线视频观看| 国产一区二区精品在线观看| 国产精品12| 久久久久久久免费视频| 高清一级淫片a级中文字幕| 亚欧乱色一区二区三区| a级黄色毛片免费播放视频| 国产欧美精品午夜在线播放| 日本在线播放一区| 国产麻豆精品| 国产视频一区二区在线观看| 亚洲第一页色| 国产伦精品一区三区视频| 韩国三级视频网站| 国产网站免费观看| 日韩字幕在线| 一级女人毛片人一女人| 日韩免费片| 欧美a级v片不卡在线观看| 成人免费网站久久久| 可以免费在线看黄的网站| 国产不卡福利| 91麻豆精品国产高清在线| 国产一区免费观看| 国产一区二区精品在线观看| 国产亚洲精品成人a在线| 亚洲精品久久久中文字| 香蕉视频久久| 高清一级淫片a级中文字幕| 欧美激情影院| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 91麻豆精品国产综合久久久| 久久国产一区二区| 精品视频免费在线| 国产网站免费视频| 你懂的日韩| 亚洲精品久久久中文字| 日韩中文字幕在线播放| 精品久久久久久中文字幕2017| 国产成a人片在线观看视频| 亚洲第一页色| 黄视频网站在线观看| 999精品在线| 色综合久久天天综线观看| 你懂的福利视频| 一 级 黄 中国色 片| 免费一级生活片| 成人a大片在线观看| 一本伊大人香蕉高清在线观看| 精品国产一区二区三区久| 欧美1区| 色综合久久天天综合| 国产伦久视频免费观看视频| 国产成人女人在线视频观看| 亚洲天堂在线播放| 九九精品在线播放| 欧美激情一区二区三区在线| 黄色免费三级| 国产网站免费视频| 韩国三级香港三级日本三级| 高清一级做a爱过程不卡视频| 亚洲精品永久一区| 精品久久久久久影院免费| 国产成人女人在线视频观看| 999久久66久6只有精品| 欧美日本国产| 青青青草影院| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 91麻豆精品国产自产在线 | 国产视频久久久| 国产视频在线免费观看| 可以免费看毛片的网站| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 一a一级片| 九九久久国产精品大片| 成人免费网站久久久| 国产极品精频在线观看| 国产伦久视频免费观看视频| 国产麻豆精品视频| 美国一区二区三区| 可以免费看污视频的网站| 国产麻豆精品高清在线播放| 在线观看成人网| 欧美激情一区二区三区在线播放 | 欧美一区二区三区性| 欧美激情一区二区三区在线播放 | 欧美一区二区三区在线观看| 人人干人人插| 国产成人精品综合在线| 中文字幕97| 色综合久久手机在线| 精品毛片视频| 日韩欧美一二三区| 免费一级片在线| 成人a级高清视频在线观看| 一 级 黄 中国色 片| 国产高清视频免费观看| 人人干人人插| 九九精品久久久久久久久| 日韩avdvd| 欧美大片aaaa一级毛片|