青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

春暖花開
雪化了,花開了,春天來了
posts - 149,comments - 125,trackbacks - 0

http://m.shnenglu.com/mymsdn/archive/2008/12/25/cpp-notes-3.html
21、vector的動態(tài)增長優(yōu)于預先分配內(nèi)存。

使用vector的時候最好動態(tài)地添加元素。它不同于C和Java或其他語言的數(shù)據(jù)類型,為了達到連續(xù)性,更有效的方法是先初始化一個空vector對象,然后再動態(tài)添加元素,而不是預先分配內(nèi)存。

22、vector值初始化

內(nèi)置->0

有默認構(gòu)造->調(diào)用默認構(gòu)造

無默認構(gòu)造,有其他構(gòu)造->程序員手動提供初始值

無默認構(gòu)造,也無其他構(gòu)造->標準庫產(chǎn)生一個帶初值的對象

23、數(shù)組下標的類型

C++中,數(shù)組下標的正確類型是size_t而不是int,size_t是一個與機器相關(guān)的unsigned類型。

24、在聲明指針的時候,可以用空格將符號*與其后的標識符分隔開來,string *ps與string* ps都是可以的,但后者容易產(chǎn)生誤解,如:

string* ps1,ps2;     //ps1是指針,而ps2是一個string對象

也就是說,人們可能誤把string和string*當作兩個類型,或者說string*被當作一種新類型來看待,但這是錯的

25、一個有效的指針必然是以下三種狀態(tài)之一:

  1. 保存特定的對象的地址;
  2. 指向某個對象后面的另一對象;
  3. 或者是0值。表明它不指向任何對象。

其中int *pi=0;與int *pi;是不同的。前者是初始化指針指向0地址的對象(即為NULL)(pi initialized to address to no object),后者卻是未初始化的(ok, but dangerous, pi is uninitialized)。

編譯器可以檢測出0值的指針,程序可判斷該指針并未指向一個對象,而未初始化的指針的使用標準并未定義,對大多數(shù)編譯器來說,如果使用未初始化的指針會將指針中存放的不確定值視為地址,然后操縱該內(nèi)存地址中存放的位內(nèi)容,使用未初始化的指針相當于操縱這個不確定的地址中存儲的基礎(chǔ)數(shù)據(jù),因此對未初始化的指針進行解引用時,通常會導致程序崩潰。

26、void*指針

void*指針只支持幾種有限的操作:

  1. 與另一個指針進行比較;
  2. 向函數(shù)傳遞void*指針或從函數(shù)返回void*指針;
  3. 給另一個void*指針賦值。

不允許使用void*指針操縱它所指向的對象。

27、指針和引用的比較(P105)

雖然使用引用(reference)和指針都可間接訪問另一個值,但它們之間有兩個重要區(qū)別。第一個區(qū)別在于引用總是指向某個對象:定義引用時沒有初始化是錯誤的。第二個重要區(qū)別則是賦值行為的差異:給引用賦值修改的是該引用所關(guān)聯(lián)的對象的值,而并不是使引用與另一個對象關(guān)聯(lián)。引用一經(jīng)初始化,就始終指向同一個特定對象(這就是為什么引用必須在定義時初始化的原因)。

28、指針與typedef(P112)

const放在類型前和放在類型后都可以表示同樣的意思:

const string s1;
string const s2;

s1和s2均表示常量字符串對象。

但因此就導致了下面的句子可能產(chǎn)生誤解:

typedef string *pstring;
const pstring cstr;

容易錯把typedef當成文本擴展而產(chǎn)生下面的理解:

const string *cstr; //這并非上面例子的正確意思!(錯誤)

應該從聲明的句子看,也就是說只看const pstring cstr;,在這里pstring是一種指針類型,const修飾的是這個類型,因此正確的理解應該是:

string *const cstr;

而const pstring cstr;其實可以表示為pstring const cstr;,這樣的寫法則不容易產(chǎn)生誤解。從右向左閱讀的意思就是:cstr是const pstring類型,即指向string對象的const指針。

29、創(chuàng)建動態(tài)數(shù)組(注意點見代碼注釋)

const char *cp1 = "some value";
char *cp2 = "other value";
int *piArray1 = new int[10];    //內(nèi)置類型沒有初始化
int *piArray2 = new int[10]();    //內(nèi)置類型需要加空圓括號,對數(shù)組元素進行初始化
std::string *psArray1 = new std::string[10];    //默認構(gòu)造函數(shù)初始化
std::cout<<"----------"<<std::endl
<<"*cp1\t\t:"<<*cp1<<std::endl
<<"*cp2\t\t:"<<*cp2<<std::endl
<<"*piArray1\t:"<<*piArray1<<std::endl
<<"*piArray2\t:"<<*piArray2<<std::endl
<<"*psArray1\t:"<<*psArray1<<std::endl
<<"----------"<<std::endl;

但是下面的結(jié)果卻與概念上的不同:

////Visual Studio & MS VC++
//----------
//*cp1            :s
//*cp2            :o
//*piArray1       :-842150451
//*piArray2       :0
//*psArray1       :
//----------
////Eclipse&G++
//----------
//*cp1        :s
//*cp2        :o
//*piArray1    :4064608
//*piArray2    :4064560
//*psArray1    :
//----------

看來不同的編譯器對此的定義還是有所不同,注意看*piArray2的值,按照說明應該是初始化為0,但這里卻仍然表現(xiàn)出與*piArray1一樣的值,說明并沒有發(fā)生初始化。

對于動態(tài)分配的數(shù)組,其元素只能初始化為元素類型的默認值,而不能像數(shù)組變量一樣,用初始化列表為數(shù)組元素提供各不相同的初值。

30、const對象的動態(tài)數(shù)組

//P118
//error:uninitialized const array
const int *pciArray1 = new const int[10];
//ok:value-initialized const array
const int *pciArray2 = new const int[10]();
std::cout<<*pciArray1<<std::endl;
std::cout<<*pciArray2<<std::endl;

上面的示例的注釋來自書中,但在VC++編譯器和G++編譯器下卻不同,具體表現(xiàn)為:

  • VC++:編譯正確,第一句輸出隨機地址的值,第二句輸出初始化的0(其中按照“標準”第一種因為未向const變量初始化,應該無法通過編譯,但這里可以)
  • G++:編譯錯誤,第一句的錯誤信息為“uninitialized const in `new' of `const int'”,但第二句按照標準應該輸出0的,這里卻輸出了隨機地址的值。

看來兩個編譯器對這一問題的看法不太一致。

posted on 2008-12-26 09:15 Sandy 閱讀(275) 評論(0)  編輯 收藏 引用 所屬分類: C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩亚洲一区二区| 欧美成熟视频| 亚洲国产一区二区a毛片| 午夜国产欧美理论在线播放| 亚洲视频香蕉人妖| 亚洲影院污污.| 午夜在线不卡| 久久免费视频网| 欧美成人精品三级在线观看| 欧美高清在线观看| 亚洲精品影院在线观看| 中日韩高清电影网| 亚洲资源av| 久久免费精品视频| 欧美日本簧片| 国产欧美视频一区二区三区| 狠狠综合久久| 99精品国产福利在线观看免费| 亚洲一区二区三区四区视频| 久久久国产精品一区二区中文 | 国内久久婷婷综合| 亚洲国产精品福利| 亚洲婷婷综合久久一本伊一区| 欧美亚洲免费在线| 欧美国产大片| 午夜精品美女久久久久av福利| 久久国产精品99国产| 免费在线看一区| 亚洲欧洲日夜超级视频| 一区二区免费在线视频| 新67194成人永久网站| 美女啪啪无遮挡免费久久网站| 久久免费视频一区| 欧美日韩视频专区在线播放| 海角社区69精品视频| 99视频精品| 久久只精品国产| 亚洲色图综合久久| 欧美高清在线| 激情一区二区| 亚洲在线视频一区| 亚洲大片免费看| 午夜精品在线观看| 欧美视频精品一区| 亚洲精品一区二区三区av| 欧美在线视频免费| 一区二区三区精品国产| 欧美激情一区二区三区在线视频| 国产精品综合| 亚洲愉拍自拍另类高清精品| 欧美激情亚洲综合一区| 欧美中文字幕第一页| 国产精品久久久久久五月尺| 亚洲免费观看在线观看| 欧美插天视频在线播放| 欧美一区二区网站| 国产欧美一区二区三区在线老狼| 亚洲一区二区三区免费观看 | 欧美中文字幕在线播放| 国产精品盗摄一区二区三区| 日韩系列在线| 亚洲激情啪啪| 欧美激情一区二区三区在线视频 | 久久久久久久久久久久久久一区| 在线亚洲伦理| 国产精品国产三级国产专播品爱网| 一本色道久久综合狠狠躁的推荐| 亚洲国产精品第一区二区三区| 狂野欧美激情性xxxx| 在线精品国精品国产尤物884a| 久久久亚洲欧洲日产国码αv | 欧美日韩性生活视频| 日韩午夜电影av| 最新成人av网站| 欧美日韩在线精品一区二区三区| 中日韩美女免费视频网站在线观看| 亚洲精品小视频| 国产精品a久久久久| 亚洲免费在线电影| 亚洲欧美日韩一区二区在线| 久久精品视频免费观看| 国内精品美女av在线播放| 久久一区二区精品| 久色婷婷小香蕉久久| 亚洲茄子视频| av不卡在线| 国产香蕉97碰碰久久人人| 麻豆成人在线观看| 欧美理论电影在线观看| 欧美亚洲网站| 老司机67194精品线观看| 亚洲三级影院| 亚洲天堂久久| 在线视频观看日韩| 日韩亚洲视频在线| 国内精品久久久久久久影视麻豆| 欧美激情亚洲激情| 国产精品久久久久一区| 久久亚洲风情| 亚洲欧美国产另类| 亚洲大片一区二区三区| 日韩一级精品视频在线观看| 国产手机视频精品| 亚洲二区视频在线| 国产欧美一区二区三区另类精品 | 香蕉成人啪国产精品视频综合网| 久久狠狠久久综合桃花| 日韩亚洲在线| 久久乐国产精品| 亚洲综合视频一区| 美女露胸一区二区三区| 欧美一区午夜精品| 欧美黑人多人双交| 久久国产夜色精品鲁鲁99| 欧美激情按摩在线| 久久深夜福利| 国产精品自在在线| 亚洲三级电影全部在线观看高清| 国产区二精品视| 一区二区三区四区在线| 亚洲精品久久嫩草网站秘色| 欧美在线亚洲在线| 欧美一区二区视频网站| 欧美视频在线观看免费网址| 欧美大胆人体视频| 在线成人中文字幕| 久久国产精品第一页| 亚洲你懂的在线视频| 欧美成人精品在线视频| 免费欧美电影| 国产一区二区三区免费不卡 | 亚洲欧美国产高清| 亚洲视频在线观看| 欧美电影电视剧在线观看| 久久婷婷国产麻豆91天堂| 国产精品乱码久久久久久| 亚洲毛片播放| 一区二区三区高清不卡| 欧美精品一区二区三区四区| 欧美福利在线| 亚洲欧洲日产国码二区| 免费一级欧美片在线播放| 亚洲人精品午夜| 另类专区欧美制服同性| 美日韩免费视频| 精品不卡一区| 久久久久一区二区三区四区| 久久久久网站| 在线观看欧美一区| 可以看av的网站久久看| 欧美大片免费观看| 亚洲精品极品| 欧美日韩极品在线观看一区| 9久re热视频在线精品| 亚洲综合色噜噜狠狠| 国产麻豆午夜三级精品| 欧美专区第一页| 欧美激情1区2区3区| av成人免费在线观看| 国产精品久久久久久久久久免费| 亚洲天堂成人在线视频| 久久er精品视频| 伊伊综合在线| 欧美国产日韩一区二区| 一区二区三区成人| 久久精品国产久精国产一老狼| 一区二区三区在线免费视频| 免费日韩精品中文字幕视频在线| 亚洲欧洲精品一区二区三区| 亚洲欧美日韩国产| 国内精品久久久久影院优 | 毛片基地黄久久久久久天堂| 亚洲精品你懂的| 亚洲少妇一区| 激情伊人五月天久久综合| 欧美国产一区二区在线观看| 亚洲网站在线观看| 美女网站久久| 亚洲欧美国产日韩天堂区| 在线播放日韩专区| 国产精品v亚洲精品v日韩精品 | 久久av老司机精品网站导航| 亚洲国产成人av好男人在线观看| 亚洲一级黄色av| 在线成人国产| 国产精品嫩草99av在线| 久久夜色精品一区| 亚洲午夜精品国产| 亚洲福利视频网| 久久精品一区二区三区四区| 一本久道久久久| 亚洲国产综合在线| 国产午夜亚洲精品不卡| 国产精品久久久久国产精品日日| 免费看的黄色欧美网站| 久久久噜噜噜久久| 午夜日韩视频| 亚洲一区二区视频在线| 一本色道久久综合亚洲91| 最新国产乱人伦偷精品免费网站|