锘??xml version="1.0" encoding="utf-8" standalone="yes"?>99久久成人18免费网站,香蕉99久久国产综合精品宅男自,av无码久久久久不卡免费网站http://www.shnenglu.com/abware/category/3994.htmlzh-cnSun, 26 Apr 2009 13:07:39 GMTSun, 26 Apr 2009 13:07:39 GMT60[ZZ]C++涓璫onst鎬葷粨http://www.shnenglu.com/abware/archive/2009/04/11/79563.html瀹夊笡浼?/dc:creator>瀹夊笡浼?/author>Fri, 10 Apr 2009 16:51:00 GMThttp://www.shnenglu.com/abware/archive/2009/04/11/79563.htmlhttp://www.shnenglu.com/abware/comments/79563.htmlhttp://www.shnenglu.com/abware/archive/2009/04/11/79563.html#Feedback0http://www.shnenglu.com/abware/comments/commentRss/79563.htmlhttp://www.shnenglu.com/abware/services/trackbacks/79563.html涓銆佸浜庡熀鏈0鏄?nbsp;

1.const int r=100; //鏍囧噯const鍙橀噺澹版槑鍔犲垵濮嬪寲錛屽洜涓洪粯璁ゅ唴閮ㄨ繛鎺ユ墍浠ュ繀欏昏鍒濆鍖栵紝鍏朵綔鐢ㄥ煙涓烘鏂囦歡錛岀紪璇戝櫒緇忚繃綾誨瀷媯鏌ュ悗鐩存帴鐢?00鍦ㄧ紪璇戞椂鏇挎崲銆?nbsp;

2.extend const int r=100; //灝哻onst鏀逛負澶栭儴榪炴帴錛屼綔鐢ㄤ簬鎵╁ぇ鑷沖叏灞錛岀紪璇戞椂浼氬垎閰嶅唴瀛橈紝騫朵笖鍙互涓嶈繘琛屽垵濮嬪寲錛屼粎浠呬綔涓哄0鏄庯紝緙栬瘧鍣ㄨ涓哄湪紼嬪簭鍏朵粬鍦版柟榪涜浜嗗畾涔夈?nbsp;

3.const int r[ ]={1,2,3,4}; 

struct S {int a,b;}; 
const S s[ ]={(1,2),(3.4)}; //浠ヤ笂涓ょ閮芥槸甯擱噺闆嗗悎錛岀紪璇戝櫒浼氫負鍏跺垎閰嶅唴瀛橈紝鎵浠ヤ笉鑳藉湪緙栬瘧鏈熼棿浣跨敤鍏朵腑鐨勫鹼紝渚嬪錛歩nt temp[r[2]];榪欐牱鐨勭紪璇戝櫒浼氭姤鍛婁笉鑳芥壘鍒板父閲忚〃杈懼紡 

浜屻佸浜庢寚閽?nbsp;
1.const int *r=&x; //澹版槑r涓轟竴涓寚鍚戝父閲忕殑x鐨勬寚閽堬紝r鎸囧悜鐨勫璞′笉鑳借淇敼錛屼絾浠栧彲浠ユ寚鍚戜換浣曞湴鍧鐨勫父閲忋?nbsp;

2.int const *r=&x; //涓庣敤娉?瀹屽叏絳変環錛屾病鏈変換浣曞尯鍒?nbsp;

3.int * const r=&x; //澹版槑r涓轟竴涓父閲忔寚閽堬紝浠栨寚鍚憍錛宺榪欎釜鎸囬拡鐨勬寚鍚戜笉鑳借淇敼錛屼絾浠栨寚鍚戠殑鍦板潃鐨勫唴瀹瑰彲浠ヤ慨鏀廣?nbsp;

4.const int * const r=&x; //緇煎悎1銆?鐢ㄦ硶錛宺鏄竴涓寚鍚戝父閲忕殑甯擱噺鍨嬫寚閽堛?nbsp;

涓夈佸浜庣被鍨嬫鏌?nbsp;
鍙互鎶婁竴涓潪const瀵硅薄璧嬬粰涓涓寚鍚慶onst鐨勬寚閽堬紝鍥犱負鏈夋椂鍊欐垜浠笉鎯充粠榪欎釜鎸囬拡鏉ヤ慨鏀瑰叾瀵硅薄鐨勫鹼紱浣嗘槸涓嶅彲浠ユ妸涓涓猚onst瀵硅薄璧嬪肩粰涓涓潪const鎸囬拡錛屽洜涓鴻繖鏍峰彲鑳戒細閫氳繃榪欎釜鎸囬拡鏀瑰彉鎸囧悜瀵硅薄鐨勫鹼紝浣嗕篃瀛樺湪浣胯繖縐嶆搷浣滈氳繃鐨勫悎娉曞寲鍐欐硶錛屼嬌鐢ㄧ被鍨嬪己鍒惰漿鎹㈠彲浠ラ氳繃鎸囬拡鏀瑰彉const瀵硅薄錛?nbsp;

const int r=100; 
int * ptr = const_cast<int *>(&r); //C++鏍囧噯錛孋璇█浣跨敤錛歩nt * ptr =(int*)&r; 

鍥涖佸浜庡瓧絎︽暟緇?nbsp;
濡俢har * name = “china”; 榪欐牱鐨勮鍙ワ紝鍦ㄧ紪璇戞椂鏄兘澶熼氳繃鐨勶紝浣嗘槸”china”鏄父閲忓瓧絎︽暟緇勶紝浠諱綍鎯充慨鏀逛粬鐨勬搷浣滀篃鑳介氳繃緙栬瘧浣嗕細寮曡搗榪愯鏃墮敊璇紝濡傛灉鎴戜滑鎯充慨鏀瑰瓧絎︽暟緇勭殑璇濆氨瑕佷嬌鐢╟har name[ ] = “china”; 榪欑褰㈠紡銆?nbsp;

浜斻佸浜庡嚱鏁?nbsp;
1.void Fuction1 ( const int r ); //姝ゅ涓哄弬鏁頒紶閫抍onst鍊鹼紝鎰忎箟鏄彉閲忓垵鍊間笉鑳借鍑芥暟鏀瑰彉 

2.const int Fuction1 (int); //姝ゅ榪斿洖const鍊鹼紝鎰忔濇寚榪斿洖鐨勫師鍑芥暟閲岀殑鍙橀噺鐨勫垵鍊間笉鑳借淇敼錛屼絾鏄嚱鏁版寜鍊艱繑鍥炵殑榪欎釜鍙橀噺琚埗鎴愬壇鏈紝鑳戒笉鑳借淇敼灝辨病鏈変簡鎰忎箟錛屽畠鍙互琚祴緇欎換浣曠殑const鎴栭潪const綾誨瀷鍙橀噺錛屽畬鍏ㄤ笉闇瑕佸姞涓婅繖涓猚onst鍏抽敭瀛椼備絾榪欏彧瀵逛簬鍐呴儴綾誨瀷鑰岃█錛堝洜涓哄唴閮ㄧ被鍨嬭繑鍥炵殑鑲畾鏄竴涓鹼紝鑰屼笉浼氳繑鍥炰竴涓彉閲忥紝涓嶄細浣滀負宸﹀間嬌鐢級錛屽浜庣敤鎴瘋嚜瀹氫箟綾誨瀷錛岃繑鍥炲兼槸甯擱噺鏄潪甯擱噸瑕佺殑錛岃涓嬮潰鏉℃3銆?nbsp;

3.Class CX; //鍐呴儴鏈夋瀯閫犲嚱鏁幫紝澹版槑濡侰X(int r =0) 

CX Fuction1 () { return CX(); } 

const CX Fuction2 () { return CX(); } 

濡傛湁涓婇潰鐨勮嚜瀹氫箟綾籆X錛屽拰鍑芥暟Fuction1()鍜孎uction2(),鎴戜滑榪涜濡備笅鎿嶄綔鏃訛細 

Fuction1() = CX(1); //娌℃湁闂錛屽彲浠ヤ綔涓哄乏鍊艱皟鐢?nbsp;

Fuction2() = CX(1); //緙栬瘧閿欒錛宑onst榪斿洖鍊肩姝綔涓哄乏鍊艱皟鐢ㄣ傚洜涓哄乏鍊兼妸榪斿洖鍊間綔涓哄彉閲忎細淇敼鍏惰繑鍥炲鹼紝const澹版槑紱佹榪欑淇敼銆?nbsp;


4.鍑芥暟涓寚閽堢殑const浼犻掑拰榪斿洖錛?nbsp;

int F1 (const char * pstr); //浣滀負浼犻掔殑鏃跺欎嬌鐢╟onst淇グ鍙互淇濊瘉涓嶄細閫氳繃榪欎釜鎸囬拡鏉ヤ慨鏀逛紶閫掑弬鏁扮殑鍒濆鹼紝榪欓噷鍦ㄥ嚱鏁板唴閮ㄤ換浣曚慨鏀?pstr鐨勪紒鍥鵑兘浼氬紩璧風紪璇戦敊璇?nbsp;

const char * F2 (); //鎰忎箟鏄嚱鏁拌繑鍥炵殑鎸囬拡鎸囧悜鐨勫璞℃槸涓涓猚onst瀵硅薄錛屽畠蹇呴』璧嬬粰涓涓悓鏍鋒槸鎸囧悜const瀵硅薄鐨勬寚閽堛?nbsp;

const char * const F3(); //姣斾笂闈㈠浜嗕竴涓猚onst錛岃繖涓猚onst鐨勬剰涔夊彧鏄湪浠栬鐢ㄤ綔宸﹀兼椂鏈夋晥錛屽畠琛ㄦ槑浜嗚繖涓寚閽堥櫎浜嗘寚鍚慶onst瀵硅薄澶栵紝瀹冩湰韜篃涓嶈兘琚慨鏀癸紝鎵浠ュ氨涓嶈兘褰撲綔宸﹀兼潵澶勭悊銆?nbsp;


5.鍑芥暟涓紩鐢ㄧ殑const浼犻掞細 

void F1 ( const X& px); //榪欐牱鐨勪竴涓猚onst寮曠敤浼犻掑拰鏈鏅氱殑鍑芥暟鎸夊間紶閫掔殑鏁堟灉鏄竴妯′竴鏍風殑錛屼粬紱佹瀵瑰紩鐢ㄧ殑瀵硅薄鐨勪竴鍒囦慨鏀癸紝鍞竴涓嶅悓鐨勬槸鎸夊間紶閫掍細鍏堝緩绔嬩竴涓被瀵硅薄鐨勫壇鏈紝鐒跺悗浼犻掕繃鍘伙紝鑰屽畠鐩存帴浼犻掑湴鍧錛屾墍浠ヨ繖縐嶄紶閫掓瘮鎸夊間紶閫掓洿鏈夋晥銆?nbsp;

**鍙﹀鍙湁寮曠敤鐨刢onst浼犻掑彲浠ヤ紶閫掍竴涓復鏃跺璞★紝鍥犱負涓存椂瀵硅薄閮芥槸const灞炴э紝涓旀槸涓嶅彲瑙佺殑錛屼粬鐭椂闂村瓨鍦ㄤ竴涓眬閮ㄥ煙涓紝鎵浠ヤ笉鑳戒嬌鐢ㄦ寚閽堬紝鍙湁寮曠敤鐨刢onst浼犻掕兘澶熸崟鎹夊埌榪欎釜瀹朵紮銆?nbsp;

鍏佸浜庣被 
1.棣栧厛錛屽浜巆onst鐨勬垚鍛樺彉閲忥紝鍙兘鍦ㄦ瀯閫犲嚱鏁伴噷浣跨敤鍒濆鍖栨垚鍛樺垪琛ㄦ潵鍒濆鍖栵紝璇曞浘鍦ㄦ瀯閫犲嚱鏁頒綋鍐呰繘琛屽垵濮嬪寲const鎴愬憳鍙橀噺浼氬紩璧風紪璇戦敊璇傚垵濮嬪寲鎴愬憳鍒楄〃褰㈠錛?nbsp;
2.X:: X ( int ir ): r(ir) {} //鍋囪r鏄被X鐨刢onst鎴愬憳鍙橀噺 

2.const鎴愬憳鍑芥暟銆傛彁鍒拌繖涓蹇甸鍏堣璋堝埌const瀵硅薄錛屾璞″唴緗被鍨嬭兘澶熷畾涔塩onst瀵硅薄涓鏍鳳紙const int r=10;錛夛紝鐢ㄦ埛鑷畾涔夌被鍨嬩篃鍙互瀹氫箟const瀵硅薄(const X px(10);)錛岀紪璇戝櫒瑕佷繚璇佽繖涓璞″湪鍏剁敓鍛藉懆鏈熷唴涓嶈兘澶熻鏀瑰彉銆傚鏋滀綘瀹氫箟浜嗚繖鏍風殑涓涓猚onst瀵硅薄錛岄偅涔堝浜庤繖涓璞$殑涓鍒囬潪const鎴愬憳鍑芥暟鐨勮皟鐢紝緙栬瘧鍣ㄤ負浜嗕繚璇佸璞$殑const鐗規э紝閮戒細紱佹騫跺湪緙栬瘧鏈熼棿鎶ラ敊銆傛墍浠ュ鏋滀綘鎯寵浣犵殑鎴愬憳鍑芥暟鑳藉鍦╟onst瀵硅薄涓婅繘琛屾搷浣滅殑璇濓紝灝辮鎶婅繖涓嚱鏁板0鏄庝負const鎴愬憳鍑芥暟銆傚亣濡俧( )鏄被涓殑鎴愬憳鍑芥暟鐨勮瘽錛屽畠鐨勫0鏄庡艦濡傦細 
int f( ) const; //const鏀懼湪鍑芥暟鐨勬渶鍚庯紝緙栬瘧鍣ㄤ細瀵硅繖涓嚱鏁拌繘琛屾鏌ワ紝鍦ㄨ繖涓嚱鏁頒腑鐨勪換浣曡瘯鍥炬敼鍙樻垚鍛樺彉閲忓拰璋冪敤闈瀋onst鎴愬憳鍑芥暟鐨勬搷浣滈兘琚涓洪潪娉?nbsp;
娉ㄦ剰錛氱被鐨勬瀯閫犲拰鏋愭瀯鍑芥暟閮戒笉鑳芥槸const鍑芥暟銆?nbsp;

3.寤虹珛浜嗕竴涓猚onst鎴愬憳鍑芥暟錛屼絾浠嶇劧鎯崇敤榪欎釜鍑芥暟鏀瑰彉瀵硅薄鍐呴儴鐨勬暟鎹傝繖鏍風殑涓涓姹備篃浼氱粡甯擱亣鍒幫紝灝ゅ叾鏄湪涓涓嫑鍒葷殑闈㈣瘯鑰冨畼閭i噷銆傞鍏堟垜浠寮勬竻妤氳冨畼鐨勮姹傦紝鍥犱負鏈変袱縐嶆柟娉曞彲浠ュ疄鐜幫紝濡傛灉榪欎綅鑰冨畼瑕佹眰涓嶆敼鍙樺師鏉ョ被鐨勪換浣曚笢瑗匡紝鍙浣犱粠褰撳墠榪欎釜const鎴愬憳鍑芥暟鍏ユ墜錛岄偅涔堜綘鍙湁浣跨敤鍓嶉潰鎻愬埌鐨勭被鍨嬪己鍒惰漿鎹㈡柟娉曘傚疄渚嬪涓嬶細 

//鍋囧鏈変竴涓彨鍋歑鐨勭被錛屽畠鏈変竴涓猧nt鎴愬憳鍙橀噺r錛屾垜浠渶瑕侀氳繃涓涓猚onst鎴愬憳鍑芥暟f( )鏉ュ榪欎釜r榪涜++r鎿嶄綔錛屼唬鐮佸涓?nbsp;

void X::f( ) const 

{ (const_cast(this)) -> ++r; } //閫氳繃this鎸囬拡榪涜綾誨瀷寮哄埗杞崲瀹炵幇 

鍙﹀涓縐嶆柟娉曞氨鏄嬌鐢ㄥ叧閿瓧錛歮utable銆傚鏋滀綘鐨勬垚鍛樺彉閲忓湪瀹氫箟鏃舵槸榪欎釜鏍峰瓙鐨勶細 

mutable int r ; 

閭d箞瀹冨氨鍛婅瘔緙栬瘧鍣ㄨ繖涓垚鍛樺彉閲忓彲浠ラ氳繃const鎴愬憳鍑芥暟鏀瑰彉銆傜紪璇戝櫒灝變笉浼氬啀鐞嗕細瀵逛粬鐨勬鏌ヤ簡銆?nbsp;

]]>
statichttp://www.shnenglu.com/abware/archive/2007/11/21/37053.html瀹夊笡浼?/dc:creator>瀹夊笡浼?/author>Tue, 20 Nov 2007 17:10:00 GMThttp://www.shnenglu.com/abware/archive/2007/11/21/37053.htmlhttp://www.shnenglu.com/abware/comments/37053.htmlhttp://www.shnenglu.com/abware/archive/2007/11/21/37053.html#Feedback0http://www.shnenglu.com/abware/comments/commentRss/37053.htmlhttp://www.shnenglu.com/abware/services/trackbacks/37053.html  闃呰鍏ㄦ枃

]]>
涓灝忔浠g爜http://www.shnenglu.com/abware/archive/2007/11/09/36249.html瀹夊笡浼?/dc:creator>瀹夊笡浼?/author>Fri, 09 Nov 2007 12:00:00 GMThttp://www.shnenglu.com/abware/archive/2007/11/09/36249.htmlhttp://www.shnenglu.com/abware/comments/36249.htmlhttp://www.shnenglu.com/abware/archive/2007/11/09/36249.html#Feedback0http://www.shnenglu.com/abware/comments/commentRss/36249.htmlhttp://www.shnenglu.com/abware/services/trackbacks/36249.html
int main()
{
    
int i;
    
int a[10];
    
for(i=0; i<=10; i++)
    {
        a[i]
=0;
        printf(
"%d ",a[i]);
    }
    
return 0;
}
榪欐浠g爜閲岀殑閿欒寰堟槑鏄撅紝鏁扮粍a鍦ㄥ驚鐜椂瓚婄晫浜嗐備笉榪囧湪VC6涓嬬紪璇戣繍琛屽悗鐨勭粨鏋滃緢鏈夋剰鎬濓紝鏄釜鏃犻檺寰幆錛岀煡閬撲負浠涔堝悧錛?

]]>
TinyXml涓枃鏂囨。http://www.shnenglu.com/abware/archive/2007/09/26/32920.html瀹夊笡浼?/dc:creator>瀹夊笡浼?/author>Wed, 26 Sep 2007 08:43:00 GMThttp://www.shnenglu.com/abware/archive/2007/09/26/32920.htmlhttp://www.shnenglu.com/abware/comments/32920.htmlhttp://www.shnenglu.com/abware/archive/2007/09/26/32920.html#Feedback0http://www.shnenglu.com/abware/comments/commentRss/32920.htmlhttp://www.shnenglu.com/abware/services/trackbacks/32920.html綆鍗曞皬宸э紝鏀寔STL錛岃屼笖璺ㄥ鉤鍙扮殑XML瑙f瀽鍣ㄣ?/span>
http://www.hansencode.cn/category/tinyxml/


]]>
鍙屽垎媧?double dispatch)http://www.shnenglu.com/abware/archive/2007/09/19/32482.html瀹夊笡浼?/dc:creator>瀹夊笡浼?/author>Wed, 19 Sep 2007 08:18:00 GMThttp://www.shnenglu.com/abware/archive/2007/09/19/32482.htmlhttp://www.shnenglu.com/abware/comments/32482.htmlhttp://www.shnenglu.com/abware/archive/2007/09/19/32482.html#Feedback0http://www.shnenglu.com/abware/comments/commentRss/32482.htmlhttp://www.shnenglu.com/abware/services/trackbacks/32482.html鍙屽垎媧炬槸鎸囷細鎺ュ彈鑰呭拰鍙傛暟閮借兘鍦ㄨ繍琛屾椂鍐沖畾瀹冪殑綾誨瀷銆?浠庤岃嫢鏈夊悓鍚嶅嚱鏁扮殑璇?渚濆弬鏁伴夊畾鐩爣鍑芥暟)

浜? 闂鐨勬彁鍑?br>C++ 涓嶆敮鎸佸弻鍒嗘淳錛屽彧鏀寔鍗曞垎媧俱備篃灝辨槸璇村弬鏁扮殑綾誨瀷灝嗗湪緙栬瘧闃舵鍐沖畾銆?铏界劧閬囦笂鍚屽悕鍑芥暟鐨勯夊彇鏃訛紝娌℃湁浣撶幇澶氭侊紝浣嗚繘鍏ュ嚱鏁板悗錛屾寚閽堝弬鏁版垨寮曠敤鍙傛暟浠嶇劧琛ㄧ幇浜嗗叾澶氭?
涓嬮潰鐨勪唬鐮佹紨紺轟簡璇ラ棶棰橈細
#include <iostream>
using namespace std;

class D;

//B
class B
{
public:
 
void virtual output(B * b){cout << "B:B" << endl;}
 
void virtual output(D * d){cout << "B:D" << endl;}
};
class D : public B
{
public:
 
void output(B * b){cout << "D:B" << endl;}
 
void output(D * d){cout << "D:D" << endl;}
};

int main()
{
    B 
* p1 = new D;
    B 
* p2 = new D;
    p1
->output(p2);
 
 
return 0;
}
浠ヤ笂浠g爜鐨勮緭鍑虹粨鏋滄槸錛?br>
D:B
濡傛灉鍙傛暟鑳藉鍦ㄨ繍琛屾椂鍐沖畾綾誨瀷鐨勮瘽錛岄偅涔堣緭鍑烘潵鐨勪俊鎭簲璇ユ槸D:D錛屽洜涓簆2鐨勫疄闄呯被鍨嬫槸D銆備絾鏄紝浜嬪疄涓婅緭鍑烘潵鐨勭粨鏋滄槸D:B銆備篃灝辨槸璇磒2鐨勭被鍨嬭璇В涓築浜嗭紒榪欏氨鏄棶棰樼殑鎵鍦ㄣ?br>
涓? 瑙e喅鏂規硶
Visitor璁捐妯″紡

]]>
typenamehttp://www.shnenglu.com/abware/archive/2007/04/16/22020.html瀹夊笡浼?/dc:creator>瀹夊笡浼?/author>Mon, 16 Apr 2007 07:27:00 GMThttp://www.shnenglu.com/abware/archive/2007/04/16/22020.htmlhttp://www.shnenglu.com/abware/comments/22020.htmlhttp://www.shnenglu.com/abware/archive/2007/04/16/22020.html#Feedback0http://www.shnenglu.com/abware/comments/commentRss/22020.htmlhttp://www.shnenglu.com/abware/services/trackbacks/22020.html(zz) C++綆磋█錛氱悊瑙ypename鐨勪袱涓惈涔?/h1> 銆銆闂錛氬湪涓嬮潰鐨?template declarations錛堟ā鏉垮0鏄庯級涓?class 鍜?typename 鏈変粈涔堜笉鍚岋紵
template<class T> class Widget; // uses "class"
template<typename T> class Widget; // uses "typename"
銆銆絳旀錛氭病浠涔堜笉鍚屻傚湪澹版槑涓涓?template type parameter錛堟ā鏉跨被鍨嬪弬鏁幫級鐨勬椂鍊欙紝class 鍜?typename 鎰忓懗鐫瀹屽叏鐩稿悓鐨勪笢瑗褲備竴浜涚▼搴忓憳鏇村枩嬈㈠湪鎵鏈夌殑鏃墮棿閮界敤 class錛屽洜涓哄畠鏇村鏄撹緭鍏ャ傚叾浠栦漢錛堝寘鎷垜鏈漢錛夋洿鍠滄 typename錛屽洜涓哄畠鏆楃ず鐫榪欎釜鍙傛暟涓嶅繀瑕佹槸涓涓?class type錛堢被綾誨瀷錛夈傚皯鏁板紑鍙戣呭湪浠諱綍綾誨瀷閮借鍏佽鐨勬椂鍊欎嬌鐢?typename錛岃屾妸 class 淇濈暀緇欎粎鎺ュ彈 user-defined types錛堢敤鎴峰畾涔夌被鍨嬶級鐨勫満鍚堛備絾鏄粠 C++ 鐨勮鐐圭湅錛宑lass 鍜?typename 鍦ㄥ0鏄庝竴涓?template parameter錛堟ā鏉垮弬鏁幫級鏃舵剰鍛崇潃瀹屽叏鐩稿悓鐨勪笢瑗褲?br>
銆銆鐒惰岋紝C++ 騫朵笉鎬繪槸鎶?class 鍜?typename 瑙嗕負絳夊悓鐨勪笢瑗褲傛湁鏃朵綘蹇呴』浣跨敤 typename銆備負浜嗙悊瑙h繖涓鐐癸紝鎴戜滑涓嶅緱涓嶈璁轟綘浼氬湪涓涓?template錛堟ā鏉匡級涓秹鍙婂埌鐨勪袱縐嶅悕瀛椼?br>
銆銆鍋囪鎴戜滑鏈変竴涓嚱鏁扮殑妯℃澘錛屽畠鑳藉彇寰椾竴涓?STL-compatible container錛圫TL 鍏煎瀹瑰櫒錛変腑鎸佹湁鐨勮兘璧嬪肩粰 ints 鐨勫璞°傝繘涓姝ュ亣璁捐繖涓嚱鏁板彧鏄畝鍗曞湴鎵撳嵃瀹冪殑絎簩涓厓绱犵殑鍊箋傚畠鏄竴涓敤緋婃秱鐨勬柟娉曞疄鐜扮殑緋婃秱鐨勫嚱鏁幫紝鑰屼笖灝卞儚鎴戜笅闈㈠啓鐨勶紝瀹冪敋鑷充笉鑳界紪璇戯紝浣嗘槸璇峰皢榪欎簺浜嬪厛鏀懼湪涓杈光斺旀湁涓縐嶆柟娉曡兘鍙戠幇鎴戠殑鎰氳牏錛?
template<typename C> // print 2nd element in
void print2nd(const C& container) // container;

// this is not valid C++!
if (container.size() >= 2{
銆銆C::const_iterator iter(container.begin()); 
// get iterator to 1st element
銆銆++iter; // move iter to 2nd element
銆銆int value = *iter; // copy that element to an int
銆銆std::cout << value; // print the int
銆}

}
銆銆鎴戠獊鍑轟簡榪欎釜鍑芥暟涓殑涓や釜 local variables錛堝眬閮ㄥ彉閲忥級錛宨ter 鍜?value銆俰ter 鐨勭被鍨嬫槸 C::const_iterator錛屼竴涓緷璧栦簬 template parameter錛堟ā鏉垮弬鏁幫級C 鐨勭被鍨嬨備竴涓?template錛堟ā鏉匡級涓殑渚濊禆浜庝竴涓?template parameter錛堟ā鏉垮弬鏁幫級鐨勫悕瀛楄縐頒負 dependent names錛堜緷璧栧悕瀛楋級銆傚綋涓涓?dependent names錛堜緷璧栧悕瀛楋級宓屽鍦ㄤ竴涓?class錛堢被錛夌殑鍐呴儴鏃訛紝鎴戠О瀹冧負 nested dependent name錛堝祵濂椾緷璧栧悕瀛楋級銆侰::const_iterator 鏄竴涓?nested dependent name錛堝祵濂椾緷璧栧悕瀛楋級銆傚疄闄呬笂錛屽畠鏄竴涓?nested dependent type name錛堝祵濂椾緷璧栫被鍨嬪悕錛夛紝涔熷氨鏄錛屼竴涓秹鍙婂埌涓涓?type錛堢被鍨嬶級鐨?nested dependent name錛堝祵濂椾緷璧栧悕瀛楋級銆?br>
銆銆print2nd 涓殑鍙︿竴涓?local variable錛堝眬閮ㄥ彉閲忥級value 鍏鋒湁 int 綾誨瀷銆俰nt 鏄竴涓笉渚濊禆浜庝換浣?template parameter錛堟ā鏉垮弬鏁幫級鐨勫悕瀛椼傝繖鏍風殑鍚嶅瓧浠?non-dependent names錛堥潪渚濊禆鍚嶅瓧錛夐椈鍚嶃傦紙鎴戞兂涓嶉氫負浠涔堜粬浠笉縐板畠涓?independent names錛堟棤渚濊禆鍚嶅瓧錛夈傚鏋滐紝鍍忔垜涓鏍鳳紝浣犲彂鐜版湳璇?"non-dependent" 鏄竴涓護浜哄帉鎭剁殑涓滆タ錛屼綘灝卞拰鎴戜駭鐢熶簡鍏遍福錛屼絾鏄?"non-dependent" 灝辨槸榪欑被鍚嶅瓧鐨勬湳璇紝鎵浠ワ紝鍍忔垜涓鏍鳳紝杞漿鐪肩潧鏀懼純浣犵殑鑷垜涓誨紶銆傦級

銆銆nested dependent name錛堝祵濂椾緷璧栧悕瀛楋級浼氬鑷磋В鏋愬洶闅俱備緥濡傦紝鍋囪鎴戜滑鏇村姞鎰氳牏鍦頒互榪欑鏂規硶寮濮?print2nd錛?br>
template<typename C>
void print2nd(const C& container)
{
銆C::const_iterator 
* x;
//
}
銆銆榪欑湅涓婂幓濂藉儚鏄垜浠皢 x 澹版槑涓轟竴涓寚鍚?C::const_iterator 鐨?local variable錛堝眬閮ㄥ彉閲忥級銆備絾鏄畠鐪嬩笂鍘誨姝や粎浠呮槸鍥犱負鎴戜滑鐭ラ亾 C::const_iterator 鏄竴涓?type錛堢被鍨嬶級銆備絾鏄鏋?C::const_iterator 涓嶆槸涓涓?type錛堢被鍨嬶級鍛紵濡傛灉 C 鏈変竴涓?static data member錛堥潤鎬佹暟鎹垚鍛橈級紕板閥灝卞彨鍋?const_iterator 鍛紵鍐嶅鏋?x 紕板閥鏄竴涓?global variable錛堝叏灞鍙橀噺錛夌殑鍚嶅瓧鍛紵鍦ㄨ繖縐嶆儏鍐典笅錛屼笂闈㈢殑浠g爜灝變笉鏄0鏄庝竴涓?local variable錛堝眬閮ㄥ彉閲忥級錛岃屾槸鎴愪負 C::const_iterator 涔樹互 x錛佸綋鐒訛紝榪欏惉璧鋒潵鏈変簺鎰氳牏錛屼絾瀹冩槸鍙兘鐨勶紝鑰岀紪鍐?C++ 瑙f瀽鍣ㄧ殑浜哄繀欏昏冭檻鎵鏈夊彲鑳界殑杈撳叆錛岀敋鑷蟲槸鎰氳牏鐨勩?br>
銆銆鐩村埌 C 鎴愪負宸茬煡涔嬪墠錛屾病鏈変換浣曞姙娉曠煡閬?C::const_iterator 鍒板簳鏄笉鏄竴涓?type錛堢被鍨嬶級錛岃屽綋 template錛堟ā鏉匡級print2nd 琚В鏋愮殑鏃跺欙紝C 榪樹笉鏄凡鐭ョ殑銆侰++ 鏈変竴鏉¤鍒欒В鍐寵繖涓涔夛細濡傛灉瑙f瀽鍣ㄥ湪涓涓?template錛堟ā鏉匡級涓亣鍒頒竴涓?nested dependent name錛堝祵濂椾緷璧栧悕瀛楋級錛屽畠鍋囧畾閭d釜鍚嶅瓧涓嶆槸涓涓?type錛堢被鍨嬶級錛岄櫎闈炰綘鐢ㄥ叾瀹冩柟寮忓憡璇夊畠銆傜己鐪佹儏鍐典笅錛宯ested dependent name錛堝祵濂椾緷璧栧悕瀛楋級涓嶆槸 types錛堢被鍨嬶級銆傦紙瀵逛簬榪欐潯瑙勫垯鏈変竴涓緥澶栵紝鎴戝緟浼氬効鍛婅瘔浣犮傦級

銆銆璁頒綇榪欎釜錛屽啀鐪嬬湅 print2nd 鐨勫紑澶達細
template<typename C>
void print2nd(const C& container)
{
if (container.size() >= 2) {
銆銆C::const_iterator iter(container.begin()); 
// this name is assumed to
銆銆 // not be a type
銆銆榪欎負浠涔堜笉鏄悎娉曠殑 C++ 鐜板湪搴旇寰堟竻妤氫簡銆俰ter 鐨?declaration錛堝0鏄庯級浠呬粎鍦?C::const_iterator 鏄竴涓?type錛堢被鍨嬶級鏃舵墠鏈夋剰涔夛紝浣嗘槸鎴戜滑娌℃湁鍛婅瘔 C++ 瀹冩槸錛岃?C++ 灝卞亣瀹氬畠涓嶆槸銆傝鎯寵漿鍙樿繖涓艦鍔匡紝鎴戜滑蹇呴』鍛婅瘔 C++ C::const_iterator 鏄竴涓?type錛堢被鍨嬶級銆傛垜浠皢 typename 鏀懼湪绱ф尐鐫瀹冪殑鍓嶉潰鏉ュ仛鍒拌繖涓鐐癸細
template<typename C> // this is valid C++
void print2nd(const C& container)
{
if (container.size() >= 2) {
typename C::const_iterator iter(container.begin());

}
}
銆銆閫氱敤鐨勮鍒欏緢綆鍗曪細鍦ㄤ綘娑夊強鍒頒竴涓湪 template錛堟ā鏉匡級涓殑 nested dependent type name錛堝祵濂椾緷璧栫被鍨嬪悕錛夌殑浠諱綍鏃跺欙紝浣犲繀欏繪妸鍗曡瘝 typename 鏀懼湪绱ф尐鐫瀹冪殑鍓嶉潰銆傦紙閲嶇敵涓涓嬶紝鎴戝緟浼氬効瑕佹弿榪頒竴涓緥澶栥傦級

銆銆typename 搴旇浠呬粎琚敤浜庢爣璇?nested dependent type name錛堝祵濂椾緷璧栫被鍨嬪悕錛夛紱鍏跺畠鍚嶅瓧涓嶅簲璇ョ敤瀹冦備緥濡傦紝榪欐槸涓涓彇寰椾竴涓?container錛堝鍣級鍜岃繖涓?container錛堝鍣級涓殑涓涓?iterator錛堣凱浠e櫒錛夌殑 function template錛堝嚱鏁版ā鏉匡級錛?br>
template<typename C> // typename allowed (as is "class")
void f(const C& container, // typename not allowed
typename C::iterator iter); // typename required
銆銆C 涓嶆槸涓涓?nested dependent type name錛堝祵濂椾緷璧栫被鍨嬪悕錛夛紙瀹冧笉鏄祵濂楀湪渚濊禆浜庝竴涓?template parameter錛堟ā鏉垮弬鏁幫級鐨勪粈涔堜笢瑗垮唴閮ㄧ殑錛夛紝鎵浠ュ湪澹版槑 container 鏃跺畠涓嶅繀琚?typename 鍓嶇疆錛屼絾鏄?C::iterator 鏄竴涓?nested dependent type name錛堝祵濂椾緷璧栫被鍨嬪悕錛夛紝鎵浠ュ畠蹇呴渶琚?typename 鍓嶇疆銆?br>
銆銆"typename must precede nested dependent type names"錛?#8220;typename 蹇呴』鍓嶇疆浜庡祵濂椾緷璧栫被鍨嬪悕”錛夎鍒欑殑渚嬪鏄?typename 涓嶅繀鍓嶇疆浜庡湪涓涓?list of base classes錛堝熀綾誨垪琛級涓殑鎴栬呭湪涓涓?member initialization list錛堟垚鍛樺垵濮嬪寲鍒楄〃錛変腑浣滀負涓涓?base classes identifier錛堝熀綾繪爣璇嗙錛夌殑 nested dependent type name錛堝祵濂椾緷璧栫被鍨嬪悕錛夈備緥濡傦細
template<typename T>
class Derived: public Base<T>::Nested { 
// base class list: typename not
public// allowed
銆銆explicit Derived(int x)
銆銆: Base
<T>::Nested(x) // base class identifier in mem
銆銆{ 
銆銆銆
// init. list: typename not allowed

銆銆銆typename Base
<T>::Nested temp; // use of nested dependent type
銆銆銆 // name not in a base class list or
銆銆} // as a base class identifier in a
銆銆 // mem. init. list: typename required
};
銆銆榪欐牱鐨勭煕鐩懼緢浠や漢璁ㄥ帉錛屼絾鏄竴鏃︿綘鍦ㄧ粡鍘嗕腑鑾峰緱涓鐐圭粡楠岋紝浣犲嚑涔庝笉浼氬湪鎰忓畠銆?br>
銆銆璁╂垜浠潵鐪嬫渶鍚庝竴涓?typename 鐨勪緥瀛愶紝鍥犱負瀹冨湪浣犵湅鍒扮殑鐪熷疄浠g爜涓叿鏈変唬琛ㄦс傚亣璁炬垜浠湪鍐欎竴涓彇寰椾竴涓?iterator錛堣凱浠e櫒錛夌殑 function template錛堝嚱鏁版ā鏉匡級錛岃屼笖鎴戜滑瑕佸仛涓涓?iterator錛堣凱浠e櫒錛夋寚鍚戠殑 object錛堝璞★級鐨勫眬閮ㄦ嫹璐?temp錛屾垜浠彲浠ヨ繖鏍峰仛錛?br>
template<typename IterT>
void workWithIterator(IterT iter)
{
銆typename std::iterator_traits
<IterT>::value_type temp(*iter);

}
銆銆涓嶈璁?std::iterator_traits<IterT>::value_type 鍚撳掍綘銆傞偅浠呬粎鏄竴涓?standard traits class錛堟爣鍑嗙壒鎬х被錛夌殑浣跨敤錛岀敤 C++ 鐨勮娉曞氨鏄?"the type of thing pointed to by objects of type IterT"錛?#8220;琚被鍨嬩負 IterT 鐨勫璞℃墍鎸囧悜鐨勪笢瑗跨殑綾誨瀷”錛夈傝繖涓鍙ュ0鏄庝簡涓涓笌 IterT objects 鎵鎸囧悜鐨勪笢瑗跨被鍨嬬浉鍚岀殑 local variable錛堝眬閮ㄥ彉閲忥級(temp)錛岃屼笖鐢?iter 鎵鎸囧悜鐨?object錛堝璞★級瀵?temp 榪涜浜嗗垵濮嬪寲銆傚鏋?IterT 鏄?vector<int>::iterator錛宼emp 灝辨槸 int 綾誨瀷銆傚鏋?IterT 鏄?list<string>::iterator錛宼emp 灝辨槸 string 綾誨瀷銆傚洜涓?std::iterator_traits<IterT>::value_type 鏄竴涓?nested dependent type name錛堝祵濂椾緷璧栫被鍨嬪悕錛夛紙value_type 宓屽鍦?iterator_traits<IterT> 鍐呴儴錛岃屼笖 IterT 鏄竴涓?template parameter錛堟ā鏉垮弬鏁幫級錛夛紝鎴戜滑蹇呴』璁╁畠琚?typename 鍓嶇疆銆?br>
銆銆濡傛灉浣犺寰楄 std::iterator_traits<IterT>::value_type 浠や漢璁ㄥ帉錛屽氨鎯寵薄閭d釜涓庡畠鐩稿悓鐨勪笢瑗挎潵浠h〃瀹冦傚鏋滀綘鍍忓ぇ澶氭暟紼嬪簭鍛橈紝瀵瑰嬈¤緭鍏ュ畠鎰熷埌鎭愭儳錛岄偅涔堜綘灝遍渶瑕佸垱寤轟竴涓?typedef銆傚浜庡儚 value_type 榪欐牱鐨?traits member names錛堢壒鎬ф垚鍛樺悕錛夛紝涓涓氱敤鐨勬儻渚嬫槸 typedef name 涓?traits member name 鐩稿悓錛屾墍浠ヨ繖鏍風殑涓涓?local typedef 閫氬父瀹氫箟鎴愯繖鏍鳳細
template<typename IterT>
void workWithIterator(IterT iter)
{
銆typedef typename std::iterator_traits
<IterT>::value_type value_type;

銆value_type temp(
*iter);

}
銆銆寰堝紼嬪簭鍛樻渶鍒濆彂鐜?"typedef typename" 騫跺垪涓嶅お鍜岃皭錛屼絾瀹冩槸娑夊強 nested dependent type names錛堝祵濂椾緷璧栫被鍨嬪悕錛夎鍒欑殑涓涓悎鐞嗙殑闄勫甫緇撴灉銆備綘浼氱浉褰撳揩鍦頒範鎯畠銆備綘姣曠珶鏈夌潃寮哄ぇ鐨勫姩鏈恒備綘杈撳叆 typename std::iterator_traits<IterT>::value_type 闇瑕佸灝戞椂闂達紵

銆銆浣滀負緇撴潫璇紝鎴戝簲璇ユ彁鍙婄紪璇戝櫒涓庣紪璇戝櫒涔嬮棿瀵瑰洿緇?typename 鐨勮鍒欑殑鎵ц鎯呭喌鐨勪笉鍚屻備竴浜涚紪璇戝櫒鎺ュ彈蹇呴渶 typename 鏃跺畠鍗寸己澶辯殑浠g爜錛涗竴浜涚紪璇戝櫒鎺ュ彈涓嶈 typename 鏃跺畠鍗村瓨鍦ㄧ殑浠g爜錛涜繕鏈夊皯鏁扮殑錛堥氬父鏄佹棫鐨勶級浼氭嫆緇?typename 鍑虹幇鍦ㄥ畠蹇呴渶鍑虹幇鐨勫湴鏂廣傝繖灝辨剰鍛崇潃 typename 鍜?nested dependent type names錛堝祵濂椾緷璧栫被鍨嬪悕錛夌殑浜や簰浣滅敤浼氬鑷翠竴浜涜交寰殑鍙Щ妞嶆ч棶棰樸?br>
銆銆Things to Remember

銆銆·鍦ㄥ0鏄?template parameters錛堟ā鏉垮弬鏁幫級鏃訛紝class 鍜?typename 鏄彲浜掓崲鐨勩?br>
銆銆·鐢?typename 鍘繪爣璇?nested dependent type names錛堝祵濂椾緷璧栫被鍨嬪悕錛夛紝鍦?base class lists錛堝熀綾誨垪琛級涓垨鍦ㄤ竴涓?member initialization list錛堟垚鍛樺垵濮嬪寲鍒楄〃錛変腑浣滀負涓涓?base class identifier錛堝熀綾繪爣璇嗙錛夋椂闄ゅ銆?br>


]]>
explicithttp://www.shnenglu.com/abware/archive/2007/04/12/21691.html瀹夊笡浼?/dc:creator>瀹夊笡浼?/author>Thu, 12 Apr 2007 03:09:00 GMThttp://www.shnenglu.com/abware/archive/2007/04/12/21691.htmlhttp://www.shnenglu.com/abware/comments/21691.htmlhttp://www.shnenglu.com/abware/archive/2007/04/12/21691.html#Feedback0http://www.shnenglu.com/abware/comments/commentRss/21691.htmlhttp://www.shnenglu.com/abware/services/trackbacks/21691.html鎴戜滑鍦ㄧ紪鍐欏簲鐢ㄧ▼搴忕殑鏃跺檈xplicit鍏抽敭瀛楀熀鏈笂鏄緢灝戜嬌鐢?瀹冪殑浣滅敤鏄?紱佹鍗曞弬鏁版瀯閫犲嚱鏁?琚敤浜庤嚜鍔ㄥ瀷鍒漿鎹?鍏朵腑姣旇緝鍏稿瀷鐨勪緥瀛愬氨鏄鍣ㄧ被鍨?鍦ㄨ繖縐嶇被鍨嬬殑鏋勯犲嚱鏁頒腑浣犲彲浠ュ皢鍒濆闀垮害浣滀負鍙傛暟浼犻掔粰鏋勯犲嚱鏁?
渚嬪:
浣犲彲浠ュ0鏄庤繖鏍蜂竴涓瀯閫犲嚱鏁?/p>
class Array
{
public:
 
explicit Array(int size);
 
//
}
;
鍦ㄨ繖閲宔xplicit鍏抽敭瀛楄搗鐫鑷沖叧閲嶈鐨勪綔鐢?濡傛灉娌℃湁榪欎釜鍏抽敭瀛楃殑璇?榪欎釜鏋勯犲嚱鏁版湁鑳藉姏灝唅nt杞崲鎴怉rray.涓鏃﹁繖縐嶆儏鍐靛彂鐢?浣犲彲浠ョ粰Array鏀淳涓涓暣鏁板艱屼笉浼氬紩璧蜂換浣曠殑闂,姣斿:
Array arr;
//
arr = 40;
姝ゆ椂,C++鐨勮嚜鍔ㄥ瀷鍒漿鎹細鎶?0杞崲鎴愭嫢鏈?0涓厓绱犵殑Array,騫朵笖鎸囨淳緇檃rr鍙橀噺,榪欎釜緇撴灉鏍規湰灝變笉鏄垜浠兂瑕佺殑緇撴灉.濡傛灉鎴戜滑灝嗘瀯閫犲嚱鏁板0鏄庝負explicit,涓婇潰鐨勮祴鍊兼搷浣滃氨浼氬鑷寸紪璇戝櫒鎶ラ敊,浣挎垜浠彲浠ュ強鏃跺彂鐜伴敊璇?
闇瑕佹敞鎰忕殑鏄?explicit鍚屾牱涔熻兘闃繪"浠ヨ祴鍊艱娉曡繘琛屽甫鏈夎漿鍨嬫搷浣滅殑鍒濆鍖?;
渚嬪:
Array arr(40);//姝g‘
Array arr = 40;//閿欒 
鐪嬩竴涓嬩互涓嬩袱縐嶆搷浣?
X x;
Y y(x);
//鏄懼紡綾誨瀷杞崲
鍙︿竴縐?
X x;
Y y 
= x;//闅愬紡綾誨瀷杞崲
榪欎袱縐嶆搷浣滃瓨鍦ㄤ竴涓皬灝忕殑宸埆,絎竴縐嶆柟寮忓紡閫氳繃鏄懼紡綾誨瀷杞崲,鏍規嵁鍨嬪埆x浜х敓浜嗗瀷鍒玒鐨勬柊瀵硅薄;絎簩縐嶆柟寮忛氳繃闅愬紡杞崲浜х敓浜嗕竴涓瀷鍒玒鐨勬柊瀵硅薄.
explicit鍏抽敭瀛楃殑搴旂敤涓昏灝辨槸涓婇潰鎵璇寸殑鏋勯犲嚱鏁板畾涔変腑,鍙傝冭鍏抽敭瀛楃殑搴旂敤鍙互鐪嬬湅STL婧愪唬鐮?鍏朵腑澶ч噺浣跨敤浜嗚鍏抽敭瀛?

]]>
mutablehttp://www.shnenglu.com/abware/archive/2007/04/12/21687.html瀹夊笡浼?/dc:creator>瀹夊笡浼?/author>Thu, 12 Apr 2007 02:50:00 GMThttp://www.shnenglu.com/abware/archive/2007/04/12/21687.htmlhttp://www.shnenglu.com/abware/comments/21687.htmlhttp://www.shnenglu.com/abware/archive/2007/04/12/21687.html#Feedback0http://www.shnenglu.com/abware/comments/commentRss/21687.htmlhttp://www.shnenglu.com/abware/services/trackbacks/21687.html鍏抽敭瀛梞utable鏄疌++涓竴涓笉甯哥敤鐨勫叧閿瓧,浠栧彧鑳界敤浜庣被鐨勯潪闈欐佸拰闈炲父閲忔暟鎹垚鍛?br>鎴戜滑鐭ラ亾涓涓璞$殑鐘舵佺敱璇ュ璞$殑闈為潤鎬佹暟鎹垚鍛樺喅瀹?鎵浠ラ殢鐫鏁版嵁鎴愬憳鐨勬敼鍙?
瀵瑰儚鐨勭姸鎬佷篃浼氶殢涔嬪彂鐢熷彉鍖?
濡傛灉涓涓被鐨勬垚鍛樺嚱鏁拌澹版槑涓篶onst綾誨瀷,琛ㄧず璇ュ嚱鏁頒笉浼氭敼鍙樺璞$殑鐘舵?涔熷氨鏄?br>璇ュ嚱鏁頒笉浼氫慨鏀圭被鐨勯潪闈欐佹暟鎹垚鍛?浣嗘槸鏈変簺鏃跺欓渶瑕佸湪璇ョ被鍑芥暟涓綾葷殑鏁版嵁鎴愬憳
榪涜璧嬪?榪欎釜鏃跺欏氨闇瑕佺敤鍒癿utable鍏抽敭瀛椾簡

渚嬪:

class Demo
{
public:
    Demo()
{}
    
~Demo(){}
public:
    
bool getFlag() const
    
{
        m_nAccess
++;
        
return m_bFlag;
    }

private:
    
int  m_nAccess;
    
bool m_bFlag;
}


int main()
{
    
return 0;
}
 


緙栬瘧涓婇潰鐨勪唬鐮佷細鍑虹幇 error C2166: l-value specifies const object鐨勯敊璇?br>璇存槑鍦╟onst綾誨瀷鐨勫嚱鏁頒腑鏀瑰彉浜嗙被鐨勯潪闈欐佹暟鎹垚鍛?

榪欎釜鏃跺欓渶瑕佷嬌鐢╩utable鏉ヤ慨楗頒竴涓嬭鍦╟onst鎴愬憳鍑芥暟涓敼鍙樼殑闈為潤鎬佹暟鎹垚鍛?br>m_nAccess,浠g爜濡備笅:

class Demo
{
public:
    Demo()
{}
    
~Demo(){}
public:
    
bool getFlag() const
    
{
        m_nAccess
++;
        
return m_bFlag;
    }

private:
    mutable 
int  m_nAccess;
    
bool m_bFlag;
}


int main()
{
    
return 0;
}
 

榪欐牱鍐嶉噸鏂扮紪璇戠殑鏃跺欏氨涓嶄細鍑虹幇閿欒浜?


]]>
99久久国产综合精品网成人影院| 久久精品成人欧美大片| 一本久久a久久精品综合香蕉| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久艹国产| 要久久爱在线免费观看| 国产成人久久精品一区二区三区| 亚洲AV无码久久| 久久国产成人精品国产成人亚洲| 久久综合久久美利坚合众国| 99久久精品国内| 亚洲国产成人久久一区久久| 国产成人精品久久二区二区| 久久婷婷五月综合97色直播| 久久99亚洲网美利坚合众国| 亚洲精品国产第一综合99久久| 国产精品久久久久AV福利动漫| 久久中文字幕视频、最近更新| 国产精品美女久久久久| 欧美精品一区二区久久| 天天爽天天爽天天片a久久网| 亚洲伊人久久大香线蕉综合图片| 国产91久久综合| 久久精品免费一区二区三区| 亚洲乱码精品久久久久..| 久久无码一区二区三区少妇| 久久天堂电影网| 狠狠色丁香婷婷久久综合不卡| 中文字幕热久久久久久久| 亚洲国产天堂久久久久久 | 国产精品欧美久久久久无广告| 久久精品国产清高在天天线| 久久人人爽人人爽人人爽 | 日日狠狠久久偷偷色综合免费 | 欧美亚洲国产精品久久| 久久久久99精品成人片| 欧美久久精品一级c片片| 久久精品国产一区二区三区日韩| 狠狠色丁香久久婷婷综合五月| 国产亚洲精品自在久久| 国产亚洲精品久久久久秋霞 |