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

const 引用是指向const 對象的引用

const int ival=1024;
const int &refVal=ival; //ok,both reference and object are const
int  &ref2=ival;        //error! non const reference to a const object
可以讀取但不能修改refVal,因此,任何對refVal的賦值都是不合法的。這個限制有其意義:不能直接對ival同值,因此不能通過使用refVal來修改ival。
同理,用ival初始化ref2也是不合法的:ref2是普通的非const引用,因此可以用來修改ref2 指向的對象的值。能過ref2對ival賦值會導致修改const對象的值。為阻止這樣的修改,需要規(guī)定將普通的引用綁定到const對象是不合法的。

const 引用可以初始化為不同類型的對象或者初始化為右值,如字面值常量:
int i=42;
// legal for const reference ONLY!
const int &r=42;
const int &r2=r+i;

double dval=3.14;
const int &r3=dval;
編譯器展開:
int temp=dval;
const int &ri=temp;

非const引用只能綁定到與該引用同類型的對象。
const引用則可以綁定到不同但相關的類型的對象或綁定到右值。

在C++中真正的臨時對象是看不見的,它們不出現(xiàn)在你的源代碼中。建立一個沒有命名的非堆(non-heap)對象會產(chǎn)生臨時對象。這種未命名的對象通常在兩種條件下產(chǎn)生:為了使函數(shù)成功調(diào)用而進行隱式類型轉換和函數(shù)返回對象時。理解如何和為什么建立這些臨時對象是很重要的,因為構造和釋放它們的開銷對于程序的性能來說有著不可忽視的影響。
首先考慮為使函數(shù)成功調(diào)用而建立臨時對象這種情況。當傳送給函數(shù)的對象類型與參數(shù)類型不匹配時會產(chǎn)生這種情況。

在字符計數(shù)的例子里,能夠成功傳遞char數(shù)組到countChar中,但是在這里試圖用char數(shù)組調(diào)用upeercasify函數(shù),則不會成功:。考慮一下這個函數(shù):
void uppercasify(string& str);
char subtleBookPlug[] = "Effective C++";
uppercasify(subtleBookPlug); // 錯誤!
沒有為使調(diào)用成功而建立臨時對象,為什么呢?
假設建立一個臨時對象,那么臨時對象將被傳遞到upeercasify中,其會修改這個臨時對象,把它的字符改成大寫。但是對subtleBookPlug函數(shù)調(diào)用的真正參數(shù)沒有任何影響;僅僅改變了臨時從subtleBookPlug生成的string對象。無疑這不是程序員所希望的。程序員傳遞subtleBookPlug參數(shù)到uppercasify函數(shù)中,期望修改subtleBookPlug的值。當程序員期望修改非臨時對象時,對非常量引用(references-to-non-const)進行的隱式類型轉換卻修改臨時對象。這就是為什么C++語言禁止為非常量引用(reference-to-non-const)產(chǎn)生臨時對象。這樣非常量引用(reference-to-non-const)參數(shù)就不會遇到這種問題。

把一個const對象的地址賦給一個普通的,非const對象的指針也會導致編譯時錯誤
const double pi=3.14;
double *ptr=π   //error:ptr is a plain pointer
const double *cptr=π  //ok:cptr is a pointer to const

不能使用void*指針保存const 對象的地址,而必須用const void*類型的指針保存。
const int universe=42;
const void *cpv=&universe; //ok;
void *pv=&universe;      //error:universe is const

允許把非const 對象的地址賦給指向const 對象的指針
double dval=3.14;
cptr=&dval;

typedef string *pstring;
const pstring cstr;
//cstr is a const pointer to string
string *const cstr  ; // equivalent to const pstring cstr;


Sales_item成員函數(shù)形參表后面的const后面所起的作用:const 改變了隱含的this 形參的類型。在調(diào)用
total.same_isbn(trans)時,隱含的this形參將是一個指向total對象的const Sales_item *類型的指針。
由于this 是指向const對象的指針,const 成員函數(shù)不能修改調(diào)用該函數(shù)的對象。
const 對象,指向const對象的指針或引用只能用于調(diào)用其const成員函數(shù),如果嘗試用它們調(diào)用非
const 成員函數(shù)
,則是錯誤的。
posted on 2007-05-14 15:56 清源游民 閱讀(880) 評論(0)  編輯 收藏 引用 所屬分類: C++
<2007年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

留言簿(35)

隨筆分類(78)

隨筆檔案(74)

文章檔案(5)

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美福利电影网| 国产精品99久久不卡二区| 久久国产福利| 久久精品国产99精品国产亚洲性色 | 免费日韩成人| 美女被久久久| 欧美日韩播放| 国产精品免费视频观看| 国产麻豆一精品一av一免费| 国产精品一级在线| 国内精品视频在线播放| 亚洲全部视频| 亚洲欧美日韩爽爽影院| 久久久999精品视频| 亚洲国产精品久久久久秋霞影院 | 亚洲调教视频在线观看| 欧美有码视频| 欧美精品久久久久久久免费观看| 欧美四级在线观看| 亚洲国产精品成人| 国产欧美一区二区色老头 | 欧美一区二区视频97| 猛干欧美女孩| 国产精品高清网站| 精品999日本| 亚洲男同1069视频| 欧美激情第三页| 午夜国产精品影院在线观看| 免费成人美女女| 国产视频精品免费播放| 日韩午夜av在线| 噜噜噜91成人网| 亚洲在线视频观看| 欧美精品 日韩| 在线不卡免费欧美| 欧美中文在线观看国产| 亚洲精品中文字幕有码专区| 久久久91精品国产| 国产伦一区二区三区色一情| 亚洲人成网站999久久久综合| 欧美一区二区网站| 亚洲精品五月天| 欧美1区免费| 亚洲国产mv| 久久婷婷亚洲| 久久黄金**| 国产欧美日韩综合一区在线观看 | 亚洲女性裸体视频| 亚洲美女网站| 欧美人与性动交cc0o| 狠狠入ady亚洲精品经典电影| 亚洲欧美日韩精品| 亚洲作爱视频| 欧美日韩在线一区二区| av成人免费观看| 亚洲国产免费| 欧美国产综合一区二区| 亚洲黄网站在线观看| 欧美高清视频一区二区| 久久综合亚洲社区| 亚洲第一级黄色片| 欧美超级免费视 在线| 欧美不卡一区| 国产精品久久久久秋霞鲁丝| 一区二区视频欧美| 欧美自拍偷拍午夜视频| 亚洲色诱最新| 国产精品免费视频xxxx| 亚洲一级一区| 一区二区三区日韩欧美精品| 欧美午夜一区二区| 午夜欧美理论片| 亚洲尤物视频在线| 国产视频不卡| 老牛嫩草一区二区三区日本| 久久久久久网址| 亚洲国产高清视频| 亚洲激情一区二区| 欧美日韩影院| 久久国产主播精品| 免费成人av在线| 在线性视频日韩欧美| 亚洲性视频h| 红桃视频欧美| 亚洲精品日韩在线观看| 99精品热视频| 欧美日韩国产丝袜另类| 亚洲性图久久| 小处雏高清一区二区三区| 在线观看视频亚洲| 亚洲人体大胆视频| 国产精品久久久久久久久久ktv| 久久精品国产第一区二区三区最新章节| 午夜一区二区三区在线观看 | 亚洲精品在线观看免费| 国产精品国产三级国产专播品爱网 | 国产精品亚洲一区二区三区在线| 久久精品毛片| 欧美日韩国产成人在线观看| 欧美专区福利在线| 欧美激情欧美激情在线五月| 小黄鸭精品aⅴ导航网站入口| 久久亚洲电影| 欧美一区二区视频在线| 欧美日本中文字幕| 欧美a一区二区| 国产精品日韩精品欧美在线| 欧美成人国产| 国产一区二区按摩在线观看| 亚洲精品免费在线观看| 久久一综合视频| 亚洲国产精品一区二区尤物区| 欧美视频中文一区二区三区在线观看 | 欧美日本三级| 久久综合九色99| 国产精品成人v| 亚洲高清在线观看一区| 国产在线精品一区二区中文| 日韩视频在线永久播放| 91久久精品国产91久久性色| 欧美一二三区在线观看| 亚洲免费视频网站| 欧美日韩三区四区| 亚洲国产毛片完整版 | 欧美在线观看一区二区| 亚洲一区二区在线视频| 亚洲精品社区| 久久婷婷影院| 久久久99国产精品免费| 国产欧美日本一区二区三区| 宅男噜噜噜66一区二区66| 亚洲三级免费电影| 欧美成人精品福利| 亚洲激情偷拍| 99在线精品免费视频九九视| 免费亚洲网站| 亚洲欧洲一二三| 亚洲九九爱视频| 欧美理论电影网| 亚洲毛片在线| 亚洲午夜精品17c| 欧美性天天影院| 亚洲午夜在线观看| 久久精品国产一区二区三区免费看| 国产精品尤物| 久久av老司机精品网站导航| 久久久青草婷婷精品综合日韩| 欧美视频中文字幕在线| 免费亚洲网站| 亚洲国产美国国产综合一区二区| 欧美亚洲日本一区| 久久免费高清| 在线观看欧美亚洲| 欧美成人精品在线| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲国产日韩美| 女女同性精品视频| 亚洲精选在线| 性欧美精品高清| 影音先锋亚洲视频| 欧美成人精品| 亚洲影音一区| 久久一本综合频道| 亚洲精品国产日韩| 国产精品国产三级国产专区53| 午夜精品久久久久久久99水蜜桃| 久久久久久久久久看片| 最新中文字幕亚洲| 国产精品久久久久久久久久妞妞 | 亚洲视频综合| 国产性做久久久久久| 久久先锋资源| 一区二区三区视频观看| 久久人人精品| 99热精品在线| 国产在线观看精品一区二区三区| 欧美a级大片| 亚洲欧美亚洲| 亚洲精品久久嫩草网站秘色| 欧美一区二区免费观在线| 亚洲国内精品| 国产婷婷一区二区| 欧美人在线视频| 久久国产精品99国产精| 亚洲久久成人| 欧美不卡视频一区| 欧美主播一区二区三区| 亚洲美女av电影| 狠狠色香婷婷久久亚洲精品| 欧美日韩中文字幕精品| 久久综合国产精品| 欧美一区二区三区四区在线| 亚洲免费高清视频| 欧美国产综合| 新狼窝色av性久久久久久| 蜜臀91精品一区二区三区| 亚洲自拍偷拍色片视频| 亚洲精品免费在线| 国内自拍一区| 国产精品永久免费在线|