真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c++中不提倡使用vector的原因-創(chuàng)新互聯(lián)

這篇文章主要介紹了c++中不提倡使用vector的原因,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

十多年的陜州網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整陜州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“陜州網(wǎng)站設(shè)計(jì)”,“陜州網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

vector< bool> 并不是一個(gè)STL容器,不是一個(gè)STL容器,不是一個(gè)STL容器!

首先vector< bool> 并不是一個(gè)通常意義上的vector容器,這個(gè)源自于歷史遺留問(wèn)題。
早在C++98的時(shí)候,就有vector< bool>這個(gè)類型了,但是因?yàn)楫?dāng)時(shí)為了考慮到節(jié)省空間的想法,所以vector< bool>里面不是一個(gè)Byte一個(gè)Byte儲(chǔ)存的,它是一個(gè)bit一個(gè)bit儲(chǔ)存的!

因?yàn)镃++沒(méi)有直接去給一個(gè)bit來(lái)操作,所以用operator[]的時(shí)候,正常容器返回的應(yīng)該是一個(gè)對(duì)應(yīng)元素的引用,但是對(duì)于vector< bool>實(shí)際上訪問(wèn)的是一個(gè)”proxy reference”而不是一個(gè)”true reference”,返回的是”std::vector< bool>:reference”類型的對(duì)象。

而一般情況情況下

vector< bool> c{ false, true, false, true, false }; 
bool b = c[0]; 
auto d = c[0];

對(duì)于b的初始化它其實(shí)暗含了一個(gè)隱式的類型轉(zhuǎn)換。而對(duì)于d,它的類型并不是bool,而是一個(gè)vector< bool>中的一個(gè)內(nèi)部類。

而此時(shí)如果修改d的值,c中的值也會(huì)跟著修改:

d = true;
for(auto i:c)
 cout << i << " ";
cout << endl;
//上式會(huì)輸出1 1 0 1 0

而如果c被銷毀,d就會(huì)變成一個(gè)懸垂指針,再對(duì)d操作就屬于未定義行為。

而為什么說(shuō)vector< bool>不是一個(gè)標(biāo)準(zhǔn)容器,就是因?yàn)樗荒苤С忠恍┤萜髟撚械幕静僮?,諸如取地址給指針初始化操作:

vector< bool> c{ false, true, false, true, false }; 
&tmp = c[0]; //錯(cuò)誤,不能編譯,對(duì)于引用來(lái)說(shuō),因?yàn)閏[0]不是一個(gè)左值 
bool *p = &c[0]; //錯(cuò)誤,不能編譯,因?yàn)闊o(wú)法將一個(gè)臨時(shí)量地址給綁定到指針

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“c++中不提倡使用vector的原因”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)建站,關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


分享名稱:c++中不提倡使用vector的原因-創(chuàng)新互聯(lián)
新聞來(lái)源:http://weahome.cn/article/dsgpgo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部