中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

深圳網(wǎng)站建設(shè)php廈門(mén)seo全網(wǎng)營(yíng)銷(xiāo)

深圳網(wǎng)站建設(shè)php,廈門(mén)seo全網(wǎng)營(yíng)銷(xiāo),網(wǎng)站源碼運(yùn)行,小程序平臺(tái)源碼String的頭文件是#include <string> String本質(zhì)上是一個(gè)類(lèi)&#xff0c;是C實(shí)現(xiàn)好的一個(gè)類(lèi) 初學(xué)只用學(xué)重要的部分&#xff0c;不可能一次性全部學(xué)完 1.構(gòu)造函數(shù) 我們先來(lái)看它的幾個(gè)構(gòu)造函數(shù) 首先&#xff08;1&#xff09;就是無(wú)參的構(gòu)造 &#xff08;2&#xff09;是…

String的頭文件是#include? <string>

String本質(zhì)上是一個(gè)類(lèi),是C++實(shí)現(xiàn)好的一個(gè)類(lèi)

初學(xué)只用學(xué)重要的部分,不可能一次性全部學(xué)完

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


我們先來(lái)看它的幾個(gè)構(gòu)造函數(shù)

首先(1)就是無(wú)參的構(gòu)造

(2)是對(duì)str的字符串進(jìn)行拷貝(拷貝構(gòu)造)

(4)常量字符串初始化

(6)拷貝n個(gè)字符c進(jìn)行初始化

上面幾個(gè)是最常用的

下面幾個(gè)可以了解一下

(5)就是拷貝s字符串的前n個(gè)字符進(jìn)行初始化

(3)從字符串str的pos位置開(kāi)始的len長(zhǎng)度的部分拷貝

這個(gè)地方len還有一個(gè)缺省值npos,代表size_t的最大值,可以理解成,如果你不給參數(shù),它會(huì)讀到字符串讀完

?2.其他函數(shù)

operator <<和operator>>

string可以直接進(jìn)行流插入和流提取,因?yàn)檫@個(gè)地方對(duì)流插入操作符和流提取操作符進(jìn)行重載了!

compare()

同樣的string也可以直接比較大小,比較方式和C語(yǔ)言的strcmp,但是效率比strcmp高,原因是string類(lèi)里有compare的字符串大小比較的函數(shù)

operator=

同樣的,我們對(duì)于賦值操作符,string也替我們封裝好了

下面是幾種常用的賦值

int main(void) {string s1;string s2;s1 = "abc";//(2)s2 ='a';//(3)s1 = s2;//(1)return 0;
}

push_back

?那么我們?nèi)绻谧址竺娌迦朐趺崔k?

string也給我們提供能直接使用的函數(shù)

插入一個(gè)字符

append()

那如果插入字符串呢?

?

int main(void) {string s1;string s2;string s3;s3 = "asas";s1 = "abc";s2 ='a';s1.push_back('a');s1.append(s3);return 0;
}

operator+=

當(dāng)然這兩個(gè)函數(shù)比C語(yǔ)言的函數(shù)好的地方在于它會(huì)自動(dòng)擴(kuò)容,但是如果你覺(jué)得這兩個(gè)函數(shù)還是復(fù)雜了,有一個(gè)更簡(jiǎn)單的方法,直接+=就可以了

int main(void) {string s1;string s2;string s3;s3 = "asas";s1 = "abc";s2 ='a';s1 += s2;s1 += s3;return 0;
}

?這個(gè)地方+=本質(zhì)上和上面兩個(gè)函數(shù)是相同的,只不過(guò)我們根據(jù)+=類(lèi)型不同,我們operator+=去調(diào)用不同的函數(shù),比如push_back和append

operator []

那么如果我們要遍歷字符串怎么辦呢?我們可以用operator []

?[]符號(hào)本質(zhì)上是對(duì)數(shù)組進(jìn)行簡(jiǎn)引用,當(dāng)然這個(gè)函數(shù)操作對(duì)象的值是可修改的

如果要遍歷字符串,那我們?cè)趺粗肋@個(gè)字符串多長(zhǎng)呢?

size()

這個(gè)時(shí)候我們就可以用size函數(shù)了,這個(gè)size函數(shù)的大小是不算字符串最后的\0的和strlen一樣

當(dāng)然length也是一樣的,但是size用的更多,推薦使用size

因此我們就可以去遍歷打印字符串了

int main(void) {string s1;s1 = "asas";for (int i = 0;i < s1.size();i++){cout << s1[i] << endl;}return 0;
}

?數(shù)組的[]和string的[]底層是不一樣的!

int main(void) {string s1;s1 = "asas";char a[3] = {"ab"};a[1];//本質(zhì)上是*(a+1)s1[1];//本質(zhì)上是s1.operator[](1)return 0;
}

capacity()

capacity表示的是容量,我們?nèi)萘坎蛔愕臅r(shí)候就會(huì)自動(dòng)擴(kuò)容,不同編譯器下擴(kuò)容倍數(shù)不同

max_size()

max_size返回字符串能達(dá)到的最大值,但是這個(gè)值在不同編譯器結(jié)果不一樣,實(shí)際毫無(wú)意義

clear()

clear表示清理數(shù)據(jù),clear會(huì)改變size的大小,但是不會(huì)改變capacity的大小!有析構(gòu)函數(shù)做最后的保底

empty()

empty判斷是否為空

?

3.迭代器

	string::iterator it = s1.begin();while (it != s1.end()){cout << *it <<"  ";++it;
}

1.普通順序迭代器 interator

迭代器包含it begin end

it是當(dāng)前指向的位置(初始位置為begin)

begin是指向第一個(gè)元素

end是指向最后一個(gè)元素

但是begin 和end 以及it都是左閉右開(kāi)
迭代器是像指針一樣的類(lèi)型,可能是指針,可能不是指針!

string平時(shí)迭代器用的不多

那么迭代器有哪些優(yōu)勢(shì)呢?

2.迭代器的優(yōu)點(diǎn)

1.范圍for的底層是迭代器

不支持迭代器的就不支持范圍for

比如說(shuō)棧,因?yàn)橐笙冗M(jìn)先出,所以不支持迭代器,也不支持范圍for

2.任何容器都支持迭代器,且用法相似,迭代器會(huì)和容器配合

3.反向迭代器? reverse_iterator

rebegin指向最后一個(gè)元素

rend指向第一個(gè)元素

rit指向當(dāng)前位置,(初始位置為最后一個(gè)元素)

string::reverse_iterator it = s1.rbegin();while (it != s1.rend()){cout << *it << "  ";++it;}

當(dāng)然這個(gè)地方用auto也很爽()包括上面的正序也可以

	auto it = s1.rbegin();while (it != s1.rend()){cout << *it << "  ";++it;}

4.const順序迭代器和const逆序迭代器

對(duì)于const對(duì)象,我們不能用普通迭代器,就要用const迭代器

同樣逆置也有它的const迭代器

void aaa(const string& s1)
{string::const_iterator it = s1.begin();//或者auto it=s1.begin();while (it != s1.end()){cout << *it << "  ";++it;}auto ot=s1.rbegin();//或者string::const_reverse_iterator ot = s1.rbegin();while (ot!=s1.rend()){cout << *ot << "  ";++ot;}
}
int main(void) {string s1 = "asas";aaa(s1);return 0;
}

http://www.risenshineclean.com/news/51195.html

相關(guān)文章:

  • 寧波seo整站優(yōu)化最新國(guó)際新聞50條簡(jiǎn)短
  • 請(qǐng)人做網(wǎng)站誰(shuí)來(lái)維護(hù)網(wǎng)站關(guān)鍵詞優(yōu)化怎么弄
  • 哪里查網(wǎng)站備案信息企業(yè)員工培訓(xùn)課程有哪些
  • 做網(wǎng)站平臺(tái)的營(yíng)業(yè)執(zhí)照互聯(lián)網(wǎng)廣告推廣好做嗎
  • 廣州個(gè)人網(wǎng)站制作公司網(wǎng)絡(luò)推廣方案
  • 香港公司需要網(wǎng)站備案朋友圈廣告推廣平臺(tái)
  • 在百度上做網(wǎng)站推廣神器
  • 有關(guān)互聯(lián)網(wǎng)網(wǎng)站在線(xiàn)查詢(xún)網(wǎng)站收錄
  • dw網(wǎng)站二級(jí)頁(yè)面怎么做搜索引擎算法
  • 購(gòu)買(mǎi)的網(wǎng)站如何換背景淘寶代運(yùn)營(yíng)靠譜嗎
  • 宜春seo網(wǎng)站推廣免費(fèi)友情鏈接交換平臺(tái)
  • 網(wǎng)站開(kāi)發(fā) 方案如何注冊(cè)網(wǎng)站怎么注冊(cè)
  • 網(wǎng)站建設(shè)所需硬件參數(shù)哪個(gè)平臺(tái)推廣效果最好
  • 企業(yè)級(jí)網(wǎng)絡(luò)管理長(zhǎng)沙seo網(wǎng)絡(luò)公司
  • 在網(wǎng)上做翻譯的網(wǎng)站市場(chǎng)營(yíng)銷(xiāo)策劃方案3000字
  • 一級(jí)a做爰片免費(fèi)網(wǎng)站孕交視頻愛(ài)戰(zhàn)網(wǎng)關(guān)鍵詞挖掘查詢(xún)工具
  • 做網(wǎng)站學(xué)哪個(gè)語(yǔ)言最好網(wǎng)絡(luò)推廣人員
  • 只做美食類(lèi)目產(chǎn)品的網(wǎng)站谷歌play商店
  • 購(gòu)物網(wǎng)站修改注冊(cè)信息模塊的分析唐老鴨微信營(yíng)銷(xiāo)軟件
  • 北京網(wǎng)站開(kāi)發(fā)培訓(xùn)網(wǎng)絡(luò)廣告策劃與制作
  • 網(wǎng)站首頁(yè)的重要性seo霸屏
  • wordpress 隱藏跳轉(zhuǎn)贛州網(wǎng)站seo
  • 手機(jī)自己制作表白網(wǎng)站app產(chǎn)品營(yíng)銷(xiāo)方案
  • 凡科 預(yù)約網(wǎng)站企業(yè)seo排名哪家好
  • 織夢(mèng)網(wǎng)站欄目不顯示不出來(lái)如何優(yōu)化百度seo排名
  • 山東建設(shè)管理局官方網(wǎng)站互聯(lián)網(wǎng)營(yíng)銷(xiāo)的特點(diǎn)
  • 老網(wǎng)站權(quán)重低的原因排名檢測(cè)
  • 電子商務(wù)自助建網(wǎng)站2023年6月份疫情嚴(yán)重嗎
  • frontpage官方下載南寧seo推廣外包
  • php怎么做p2p網(wǎng)站深圳網(wǎng)站推廣公司