锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久不射网站,亚洲欧美日韩精品久久奇米色影视,欧美日韩国产不卡在线看http://m.shnenglu.com/smallfa/category/8802.htmlhazh-cnTue, 09 Dec 2008 06:15:33 GMTTue, 09 Dec 2008 06:15:33 GMT60浠嶫ava鍒癈++ 鈥?瀵規(guī)瘮Java涓嶤++緙栫▼鐨勪笉鍚?/title><link>http://m.shnenglu.com/smallfa/archive/2008/12/09/68932.html</link><dc:creator>henry08</dc:creator><author>henry08</author><pubDate>Tue, 09 Dec 2008 05:43:00 GMT</pubDate><guid>http://m.shnenglu.com/smallfa/archive/2008/12/09/68932.html</guid><wfw:comment>http://m.shnenglu.com/smallfa/comments/68932.html</wfw:comment><comments>http://m.shnenglu.com/smallfa/archive/2008/12/09/68932.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/smallfa/comments/commentRss/68932.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/smallfa/services/trackbacks/68932.html</trackback:ping><description><![CDATA[<h2>1. 鏁版嵁綾誨瀷鍜屽彉閲?/h2> <p>C++ 涓殑鍙橀噺綾誨瀷涓嶫ava寰堢浉浼箋傚儚Java涓鏍鳳紝C++ 鏈?tt>int</tt> 鍜?<tt>double</tt> 綾誨瀷銆備絾鏄繖浜涙暟瀛楃被鍨嬬殑鍙栧艱寖鍥存槸渚濊禆浜庢満鍣ㄧ殑銆傛瘮濡傚湪16浣嶇郴緇熶笂錛屼緥濡傝繍琛孌OS 鎴朩indows 3.x鐨凱C鏈轟笂錛?tt>int</tt> 鏄弻瀛楄妭(2-byte)鐨勶紝鍙栧艱寖鍥存瘮Java鐨?-byte鐨?tt>int</tt> 瑕佸皬寰堝銆傚湪榪欎簺鏈哄櫒涓婏紝濡傛灉 int 涓嶅鐢ㄧ殑璇濓紝浣犻渶瑕佷嬌鐢ㄩ暱鏁村瀷long銆?/p> <p>C++ 鏈?<tt>short</tt> 鍜?<tt>unsigned</tt> 綾誨瀷鏉ユ洿鏈夋晥鐨勫瓨鍌ㄦ暟瀛椼傦紙鎴戣涓烘墍璋撴湁鏁堟槸鎸囨洿楂樼殑絀洪棿鍒╃敤鐜囥傦級(jí) 鏈濂芥槸灝介噺閬垮厤浣跨敤榪欎簺綾誨瀷闄ら潪鏄┖闂村埄鐢ㄧ殑鏈夋晥鎬у浣犵殑緋葷粺鐪熺殑闈炲父閲嶈銆?/p> <p>鍦–++涓竷?yōu)當(dāng)鍨嬬?<tt>bool</tt> 琛ㄧず錛岃屼笉鍍忓湪Java涓敤boolean銆?/p> <p>C++ 涓瓧絎︿覆綾誨瀷鐢?<tt>string</tt> 琛ㄧず銆傚畠涓嶫ava涓殑 <tt>String</tt> 綾誨瀷闈炲父鐩鎬技錛屼絾鏄紝榪樻槸瑕侀愪竴浠ヤ笅鍑犵偣涓嶅悓涔嬪錛?/p> <p>1. C++ 瀛楃涓插瓨鍌ˋSCII 鐮佸瓧絎︼紝鑰屼笉鏄爣鍑嗙爜Unicode 瀛楃</p> <p>2. C++ 瀛楃涓叉槸鍙互琚慨鏀圭殑錛岃孞ava瀛楃涓茬殑鍐呭鏄笉鍙慨鏀圭殑(immutable)銆?/p> <p>3. 鍙栧瓙瀛楃涓茬殑鎿嶄綔鍦?C++ 涓彨鍋?<tt>substr</tt>錛岃繖涓懡浠?tt>s.substr(i, n)</tt> 浠庡瓧絎︿覆s涓彇寰椾粠浣嶇疆 i 寮濮嬮暱搴︿負(fù)n鐨勫瓙瀛楃涓層?/p> <p>4. 鍦–++涓紝浣犲彧鑳藉灝嗗瓧絎︿覆涓庡叾瀹冨瓧絎︿覆瀵硅薄鐩鎬覆鑱?concatenate)錛岃屼笉鑳藉涓庝換鎰忕殑瀵硅薄鐩鎬覆鑱斻?/p> <p>5. C++涓彲浠ョ洿鎺ヤ嬌鐢ㄥ叧緋繪搷浣滅 <tt>==銆?!=銆?<銆?<=銆?>銆?>= </tt>鏉ヨ繘琛屽瓧絎︿覆姣旇緝錛屽叾涓悗闈㈠洓涓搷浣滅鏄寜瀛楁瘝欏哄簭榪涜姣旇緝鐨勩?榪欐瘮Java涓嬌鐢ㄥ嚱鏁癳quals鍜宑ompareTo鏉ユ瘮杈冭鏂逛究寰堝銆?/p> <br><br> <h2>2. 鍙橀噺鍜屽父閲?/h2> <p>鍦–++涓紝鏈湴鍙橀噺鐨勫畾涔夌湅璧鋒潵涓嶫ava涓浉鍚岋紝渚嬪錛?/p> <p><tt>int n = 5;</tt></p> <p>瀹為檯涓婅繖姝f槸C++鍜孞ava鐨勪竴涓噸瑕佷笉鍚屼箣澶勩侰++緙栬瘧鍣ㄤ笉瀵規(guī)湰鍦板彉閲忚繘琛屽垵濮嬪寲媯(gè)楠岋紝鎵浠ュ湪C++涓緢瀹規(guī)槗蹇樿鍒濆鍖栦竴涓彉閲忥紝榪欑鎯呭喌涓嬶紝鍙橀噺鐨勫艱鍙橀噺鎵鍗犲唴瀛樺尯鍩熶腑鍒氬ソ褰撳墠瀛樺湪闅忔満鍊箋傝繖鏄劇劧鏄緢瀹規(guī)槗浜х敓紼嬪簭鍑洪敊鐨勫湴鏂廣?/p> <p>涓嶫ava涓鏍鳳紝 C++涓被鍙互鏈夋暟鎹煙鍜岄潤鎬佸彉閲忋備笉鍚岀殑鏄紝C++涓彉閲忓彲浠ュ湪鍑芥暟鐢氳嚦鏄被鐨勫闈㈠畾涔夛紝榪欎簺鎵璋撶殑鍏ㄥ眬鍙橀噺鍙互鍦ㄧ▼搴忕殑浠諱綍鍑芥暟涓璁塊棶錛屽洜鑰屼笉鏄撹寰堝ソ鐨勭鐞嗐傛墍C++涓簲璇ュ敖閲忛伩鍏嶄嬌鐢ㄥ叏灞鍙橀噺銆?/p> <p>鍦–++涓紝甯擱噺鍙互鍦ㄤ換浣曞湴鏂硅瀹氫箟錛堣寰楀湪Java涓紝甯擱噺蹇呴』鏄被鐨勯潤鎬佹暟鎹畇tatic data)銆?C++ 浣跨敤鍏抽敭瀛?<tt>const</tt> 鏉ュ畾涔夊父閲忥紝鑰孞ava涓槸 <tt>final</tt>銆備緥濡傦細(xì)</p> <p><tt>const int DAYS_PER_YEAR = 365;</tt></p> <br><br><br> <h2>3. 綾?/h2> <p>C++ 涓綾葷殑瀹氫箟涓嶫ava鏈変簺涓嶅悓錛岃繖閲屾槸涓涓緥瀛愶細(xì)涓涓狢++ 鐗堟湰鐨?<tt>Point</tt> 綾?</p> <p><tt>class Point /* C++ */</tt></p> <p><tt>{</tt></p> <p><tt>public:</tt></p> <p><tt>Point();</tt></p> <p><tt>Point(double xval, double yval);</tt></p> <p><tt>void move(double dx, double dy);</tt></p> <p><tt>double getX() const;</tt></p> <p><tt>double getY() const;</tt></p> <p><tt>private:</tt></p> <p><tt>double x;</tt></p> <p><tt>double y;</tt></p> <p><tt>};</tt></p> <p>榪欓噷鍑犵偣閲嶈鐨勪笉鍚屾槸錛?/p> <p>1. C++鐨勭被瀹氫箟涓垎涓哄叕鍏卞拰縐佹湁閮ㄥ垎錛屽垎鍒互鍏抽敭瀛?<tt>public</tt> 鍜?<tt>private</tt>寮濮嬨傝屽湪Java涓紝姣忎竴涓厓绱犻兘蹇呴』鏍囨槑 <tt>public</tt> 鎴?<tt>private</tt>銆?/p> <p>2. C++涓被鐨勫畾涔夊彧鍖呭惈鍑芥暟鐨勫0鏄庯紝鐪熸鐨勫疄鐜板彟澶栧崟鐙垪鍑恒?/p> <p>3. 璁塊棶鍑芥暟(accessor methods)鏍囨湁鍏抽敭瀛?<tt>const</tt> 錛岃〃鏄庤繖涓嚱鏁頒笉浼?xì)鏀瑰彉鏈璞$殑鍏冪礌鍊箋?/p> <p>4. 綾誨畾涔夌殑緇撳熬澶勬湁鍒嗗彿</p> <p>綾諱腑鍑芥暟鐨勫疄鐜拌窡鍦ㄧ被鐨勫畾涔変箣鍚庛傚洜涓哄嚱鏁版槸鍦ㄧ被澶栭潰瀹氫箟鐨勶紝鎵浠ユ瘡涓涓嚱鏁扮殑鍚嶅瓧鍓嶉潰瑕佸姞綾誨悕縐頒綔涓哄墠緙錛屽茍浣跨敤鎿嶄綔絎﹀弻鍐掑彿::鏉ュ垎鍓茬被鐨勫悕縐板拰鍑芥暟鐨勫悕縐般備笉鏀瑰彉闅愬惈鍙傛暟鍊鹼紙鍗沖綋鍓嶅璞$殑鍊鹼級(jí)鐨勮闂嚱鏁扮敤 <tt>const</tt>鏍囨槑銆傚涓嬫墍紺烘槸涓婇潰綾誨畾涔変腑鐨勫嚱鏁扮殑瀹炵幇錛?/p> <p><tt>Point::Point() { x = 0; y = 0; }</tt></p> <p><tt>void Point::move(double dx, double dy) </tt></p> <p><tt>{</tt></p> <p><tt>x = x + dx;</tt></p> <p><tt>y = y + dy;</tt></p> <p><tt>}</tt></p> <p><tt>double Point::getX() const</tt></p> <p><tt>{ </tt></p> <p><tt>return x;</tt></p> <p><tt>}</tt></p> <br><br><br> <h2>4. 瀵硅薄</h2> <p>Java 涓?C++ 鏈涓昏鐨勪笉鍚屽湪浜庡璞″彉閲忕殑浣跨敤銆傚湪 C++涓紝瀵硅薄鍙橀噺瀛樺偍鐨勬槸鐪熸鐨勫璞$殑鍊鹼紝鑰屼笉鏄璞″紩鐢?<a title=鍏充簬reference鐨勬枃绔?><u><font color=#810081>reference</font></u></a>)銆傛敞鎰忓湪C++涓瀯閫犱竴涓璞$殑鏃跺欐槸涓嶄嬌鐢ㄥ叧閿瓧new鐨勶紝鍙渶瑕佸湪鍙橀噺鐨勫悕瀛楀悗闈㈢洿鎺ヨ祴浜堟瀯閫犲嚱鏁扮殑鍙傛暟灝卞彲浠ヤ簡錛屼緥濡傦細(xì)</p> <p><tt>Point p(1, 2); /* 鏋勯犲璞?p */</tt></p> <p>濡傛灉涓嶈窡鍙傛暟璧嬪鹼紝鍒欎嬌鐢ㄩ粯璁ゆ瀯閫犲嚱鏁幫紝渚嬪錛?/p> <p><tt>Time now; /* 榛樿浣跨敤鏋勯犲嚱鏁?Time::Time() */</tt></p> <p>榪欎竴鐐逛笌Java寰堜笉鍚屻傚湪Java涓紝榪欎釜鍛戒護(hù)浠呬粎鐢熸垚涓涓病鏈夊垵濮嬪寲鐨剅eference錛岃屽湪C++涓紝瀹冪敓鎴愪竴涓疄闄呯殑瀵硅薄銆?/p> <p>褰撲竴涓璞¤璧嬬粰鍙︿竴涓璞″彉閲忕殑鏃跺欙紝瀹為檯鐨勫煎皢琚嫹璐濄傝屽湪Java涓紝鎷瘋礉涓涓璞″彉閲忓彧涓嶈繃鏄緩绔嬩簡鍙﹀涓涓寚鍚戝璞$殑reference銆傛嫹璐濅竴涓狢++鐨勫璞″氨鍍忓湪Java涓皟鐢╟lone榪欎釜鍑芥暟涓鏍鳳紝鑰屼慨鏀規(guī)嫹璐濈殑鍊間笉浼?xì)鏀瑰彉鍘熷璞$殑鍊箋備緥濡傦細(xì)</p> <p><tt>Point q = p; /* 鎷瘋礉p鍒皅 */</tt></p> <p><tt>q.move(1, 1); /* 縐誨姩q鑰宲涓嶅姩錛屽嵆q鐨勫煎彉浜嗭紝鑰宲鐨勪笉鍙?/</tt></p> <p>澶氭暟鎯呭喌涓嬶紝C++涓繖縐嶅璞$洿鎺ュ鍊兼搷浣滅殑鐗規(guī)т嬌鐢ㄨ搗鏉ュ緢鏂逛究錛屼絾鏄篃鏈変簺鏃跺欎笉灝藉浜烘剰錛?/p> <p>1. 褰撻渶瑕佷竴涓嚱鏁頒腑淇敼涓涓璞$殑鍊鹼紝蹇呴』璁頒綇瑕佷嬌鐢ㄦ寜寮曠敤璋冪敤call by reference (鍙傝涓嬮潰鍑芥暟閮ㄥ垎)</p> <p>2. 涓や釜瀵硅薄鍙橀噺涓嶈兘鎸囧悜鍚屼竴涓璞″疄浣撱傚鏋滀綘瑕佸湪C++涓疄鐜拌繖縐嶆晥鏋滐紝蹇呴』浣跨敤鎸囬拡pointer錛堝弬瑙佷笅闈㈡寚閽堥儴鍒嗭級(jí)</p> <p>3. 涓涓璞″彉閲忓彧鑳藉瓨鍌ㄤ竴縐嶇壒瀹氱殑綾誨瀷鐨勫鹼紝濡傛灉浣犳兂瑕佷嬌鐢ㄤ竴涓彉閲忔潵瀛樺偍涓嶅悓瀛愮被鐨勫璞$殑鍊鹼紙澶氭乸loymorphism)錛屽垯闇瑕佷嬌鐢ㄦ寚閽堛?/p> <p>4. 濡傛灉浣犳兂鍦–++涓嬌鐢ㄤ竴涓彉閲忔潵鎴栬呮寚鍚憂ull鎴栬呮寚鍚戜竴涓疄闄呯殑瀵硅薄錛屽垯闇瑕佷嬌鐢ㄦ寚閽?/p> <br><br><br><br><br> <h2>5. 鍑芥暟</h2> <p>鍦↗ava涓紝姣忎竴涓嚱鏁板繀欏繪垨鑰呮槸瀵硅薄鍑芥暟(instance method)錛屾垨鑰呮槸闈欐佸嚱鏁?static function)鎴栫О綾誨嚱鏁般侰++鍚屾牱鏀寔瀵硅薄鍑芥暟鍜岄潤鎬佸嚱鏁幫紙綾誨嚱鏁幫級(jí)錛屼絾鍚屾椂C++涔熷厑璁稿畾涔変笉灞炰簬浠諱綍綾葷殑鍑芥暟錛岃繖浜涘嚱鏁板彨鍋氬叏灞鍑芥暟<em>錛坓lobal functions錛?/em>銆?/p> <p>鐗瑰埆鐨勬槸錛屾瘡涓涓狢++ 紼嬪簭閮戒粠涓涓彨鍋?<tt>main</tt>鐨勫叏灞鍑芥暟寮濮嬫墽琛岋細(xì)</p> <p><tt>int main()</tt></p> <p><tt>{ . . .</tt></p> <p><tt>}</tt></p> <p>榪樻湁鍙﹀涓涓牸寮忕殑main鍑芥暟鍙互鐢ㄦ潵鎹曟崏鍛戒護(hù)琛屽弬鏁幫紝綾諱技浜嶫ava鐨刴ain鍑芥暟錛屼絾鏄畠瑕佹眰鍏充簬C鏍煎紡鐨勬暟緇勫拰瀛楃涓茬殑鐭ヨ瘑錛岃繖閲屽氨涓嶄粙緇嶄簡銆?/p> <p>鎸夌収涔?fàn)鎯Q岄氬父濡傛灉紼嬪簭鎵ц鎴愬姛錛?<tt>main</tt> 鍑芥暟榪斿洖0錛屽惁鍒欒繑鍥為潪闆舵暣鏁般?/p> <p>鍚孞ava涓鏍鳳紝鍑芥暟鍙傛暟鏄氳繃鍊間紶閫掔殑(passed by value)銆傚湪Java涓紝鍑芥暟鏃犺濡備綍閮芥槸鍙互淇敼瀵硅薄鐨勫肩殑銆傜劧鑰屽湪C++涓紝鍥犱負(fù)瀵硅薄鐩存帴瀛樺偍鐨勬槸瀹為檯鐨勫鹼紝鑰屼笉鏄寚鍚戝肩殑reference錛屼篃灝辨槸璇翠紶鍏ュ嚱鏁扮殑鏄竴涓疄闄呭肩殑鎷瘋礉錛屽洜姝や篃灝辨棤娉曚慨鏀瑰師鏉ュ璞$殑鍊箋?/p> <p>鎵浠ワ紝C++ 鏈変袱縐嶅弬鏁頒紶閫掓満鍒訛紝鍚孞ava涓鏍風(fēng)殑鎸夊艱皟鐢?<em>call by value) </em>錛屼互鍙?qiáng)鎸夊湴鍧璋冪敤(<em>call by reference</em>)銆傚綋涓涓弬鏁版槸鎸塺eference浼犻掓椂錛屽嚱鏁板彲浠ヤ慨鏀瑰叾鍘熷鍊箋侰all by reference 鐨勫弬鏁板墠闈㈡湁涓涓湴鍧鍙?<tt>&</tt> 璺熷湪鍙傛暟綾誨瀷鐨勫悗闈紝渚嬪錛?/p> <p><tt>void raiseSalary(Employee& e, double by)</tt></p> <p><tt>{ . . .</tt></p> <p><tt>}</tt></p> <p>涓嬮潰鏄竴涓吀鍨嬬殑鍒╃敤call by reference鐨勫嚱鏁幫紝鍦↗ava涓槸鏃犳硶瀹炵幇榪欐牱鐨勫姛鑳界殑銆?/p> <p><tt>void swap(int& a, int& b)</tt></p> <p><tt>{ int temp = a;</tt></p> <p><tt>a = b;</tt></p> <p><tt>b = temp;</tt></p> <p><tt>}</tt></p> <p>濡傛灉浣跨敤 <tt>swap(x, y)</tt>鏉ヨ皟鐢ㄨ繖涓嚱鏁幫紝鍒檙eference鍙傛暟 <tt>a</tt> 鍜?<tt>b</tt> 鎸囧悜鍘熷疄闄呭弬鏁?tt>x</tt> 鍜?<tt>y</tt>鐨勪綅緗紝鑰屼笉鏄畠浠殑鍊肩殑鎷瘋礉錛屽洜姝よ繖涓嚱鏁板彲浠ュ疄鐜板疄闄呬氦鎹㈣繖涓や釜鍙傛暟鐨勫箋?/p> <p>鍦?C++涓紝姣忓綋闇瑕佸疄鐜頒慨鏀瑰師鍙傛暟鐨勫兼椂浣犲氨鍙互浣跨敤鎸夊湴鍧璋冪敤 call by reference </p> <br><br><br> <h2>6. 鍚戦噺Vector</h2> <p>C++ 鐨勫悜閲忕粨鏋勭粨鍚堜簡Java涓暟緇勫拰鍚戦噺涓よ呯殑浼樼偣銆備竴涓狢++ 鐨勫悜閲忓彲浠ユ柟渚跨殑琚闂紝鍏跺閲忓張鍙互鍔ㄦ佺殑澧為暱銆傚鏋?<tt>T</tt> 鏄換鎰忕被鍨嬶紝鍒?<tt>vector<T></tt> 鏄竴涓厓绱犱負(fù) <tt>T</tt> 綾誨瀷鐨勫姩鎬佹暟緇勩備笅闈㈢殑璇彞</p> <p><tt>vector<int> a;</tt></p> <p>浜х敓涓涓垵濮嬩負(fù)絀虹殑鍚戦噺銆傝岃鍙?/p> <p><tt>vector<int> a(100);</tt></p> <p>鐢熸垚涓涓垵濮嬫湁100涓厓绱犵殑鍚戦噺銆備綘鍙互浣跨敤<tt>push_back</tt> 鍑芥暟鏉ユ坊鍔犲厓绱狅細(xì)</p> <p><tt>a.push_back(n);</tt></p> <p>璋冪敤 <tt>a.pop_back()</tt> 浠?tt>a</tt>涓彇鍑烘渶鍚庝竴涓厓绱狅紙鎿嶄綔鍚庤繖涓厓绱犺浠巃涓垹鎺?錛?浣跨敤鍑芥暟<tt>size</tt> 鍙互寰楀埌褰撳墠a涓殑鍏冪礌涓暟銆?/p> <p>浣犺繕鍙互閫氳繃鎴戜滑鐔熸?zhèn)夌?<tt>[]</tt> 鎿嶄綔絎︽潵璁塊棶鍚戦噺涓厓绱狅紝渚嬪錛?/p> <p><tt>for (i = 0; i < a.size(); i++) {<br></tt></p> <p><tt>sum = sum + a[i];</tt></p> <p><tt>}</tt></p> <p>鍚孞ava涓竴鏍鳳紝鏁扮粍绱㈠紩蹇呴』涓?0 鍜?<tt>a.size() - 1</tt>涔嬮棿鐨勫箋備絾鏄笌Java涓嶅悓鐨勬槸錛孋++涓病鏈塺untime鐨勭儲(chǔ)寮曞彿鍚堟硶鎬ф楠屻傝瘯鍥捐闂潪娉曠殑绱㈠紩浣嶇疆鍙兘閫犳垚闈炲父涓ラ噸鐨勫嚭閿欍?/p> <p>灝卞儚鎵鏈夊叾瀹?C++ 瀵硅薄涓鏍鳳紝鍚戦噺涔熸槸鍊箋傚鏋滀綘灝嗕竴涓悜閲忚祴鍊肩粰鍙﹀涓涓悜閲忓彉閲忥紝鎵鏈夌殑鍏冪礌閮戒細(xì)琚嫹璐濊繃鍘匯?/p> <p><tt>vector<int> b = a; /* 鎵鏈夌殑鍏冪礌閮借鎷瘋礉浜?*/</tt></p> <p>瀵規(guī)瘮Java涓殑鎯呭喌錛屽湪Java涓紝涓涓暟緇勫彉閲忔槸涓涓寚鍚戞暟緇勭殑reference銆傛嫹璐濊繖涓彉閲忎粎浠呬駭鐢熷彟澶栦竴涓寚鍚戝悓涓鏁扮粍鐨剅eference錛岃屼笉浼?xì)鎷疯礉姣忎竴涓厓绱犵殑鍊箋?/p> <p>姝e洜濡傛錛屽鏋滀竴涓狢++鍑芥暟瑕佸疄鐜頒慨鏀瑰悜閲忕殑鍊鹼紝蹇呴』浣跨敤reference鍙傛暟錛?/p> <p><tt>void sort(vector<int>& a)</tt></p> <p><tt>{ . . .</tt></p> <p><tt>}</tt></p> <br><br><br> <h2>7. 杈撳叆鍜岃緭鍑?/h2> <p>鍦–++涓紝鏍囧噯鐨勮緭鍏ヨ緭鍑烘祦鐢ㄥ璞?<tt>cin</tt> 鍜?<tt>cout</tt> 琛ㄧず銆傛垜浠嬌鐢?<tt><<</tt> 鎿嶄綔絎﹀啓杈撳嚭錛屼緥濡傦細(xì)</p> <p><tt>cout << “Hello, World!”;</tt></p> <p>涔熷彲浠ヨ繛鐫杈撳嚭澶氶」鍐呭錛屼緥濡傦細(xì)</p> <p><tt>cout << “The answer is ” << x << “\n”;</tt></p> <p>鎴戜滑浣跨敤 <tt>>></tt> 鎿嶄綔絎︽潵璇誨叆涓涓暟瀛楁垨鍗曡瘝錛屼緥濡傦細(xì)</p> <p><tt>double x;</tt></p> <p><tt>cout << “Please enter x: “;</tt></p> <p><tt>cin >> x;</tt></p> <p><tt>string fname;</tt></p> <p><tt>cout << “Please enter your first name: “;</tt></p> <p><tt>cin >> fname;</tt></p> <p>鍑芥暟<tt>getline</tt> 鍙互璇誨叆鏁磋鐨勮緭鍏ワ紝渚嬪錛?/p> <p><tt>string inputLine;</tt></p> <p><tt>getline(cin, inputLine);</tt></p> <p>濡傛灉鍒拌揪杈撳叆鐨勭粨灝撅紝鎴栬呬竴涓暟瀛楁棤娉曡姝g‘鐨勮鍏ワ紝榪欎釜嫻佸璞′細(xì)琚緗負(fù) failed 鐘舵侊紝鎴戜滑鍙互浣跨敤鍑芥暟 <tt>fail</tt> 鏉ユ楠岃繖涓姸鎬侊紝渚嬪錛?/p> <p><tt>int n;</tt></p> <p><tt>cin >> n;</tt></p> <p><tt>if (cin.fail()) cout << “Bad input”;</tt></p> <p>涓鏃︿竴涓祦鐨勭姸鎬佽璁句負(fù)failed錛屾垜浠槸寰堥毦閲嶇疆瀹冪殑鐘舵佺殑錛屾墍浠ュ鏋滀綘鐨勭▼搴忛渶瑕佸鐞嗛敊璇緭鍏ョ殑鎯呭喌錛屽簲璇ヤ嬌鐢ㄥ嚱鏁?<tt>getline</tt> 鐒跺悗浜哄伐澶勭悊寰楀埌鐨勮緭鍏ユ暟鎹?/p> <p> </p> <p> </p> <br><br> <h2>8. 鎸囬拡pointer</h2> <p>鎴戜滑宸茬粡鐭ラ亾鍦–++涓紝瀵硅薄鍙橀噺鐩存帴瀛樺偍鐨勬槸瀵硅薄鐨勫箋傝繖鏄笌Java涓嶅悓鐨勶紝鍦↗ava涓璞″彉閲忓瓨鍌ㄧ殑鏄竴涓湴鍧錛岃鍦板潃鎸囧悜瀵硅薄鍊煎疄闄呭瓨鍌ㄧ殑鍦版柟銆傛湁鏃跺湪C++涓篃闇瑕佸疄鐜拌繖鏍風(fēng)殑甯冪疆錛岃繖灝辯敤鍒頒簡鎸囬拡pointer銆傚湪 C++涓紝涓涓寚鍚戝璞$殑鍙橀噺鍙仛鎸囬拡銆傚鏋淭鏄竴縐嶆暟鎹被鍨嬶紝鍒?<tt>T*</tt> 鏄寚鍚戣繖縐嶆暟鎹被鍨嬬殑鎸囬拡銆?/p> <p>灝卞儚 Java涓竴鏍鳳紝涓涓寚閽堝彉閲忓彲浠ヨ鍒濆鍖栦負(fù)絀哄?<tt>NULL</tt>錛屽彟澶栦竴涓寚閽堝彉閲忕殑鍊鹼紝鎴栬呬竴涓皟鐢╪ew鐢熸垚鐨勬柊瀵硅薄錛?/p> <p><tt>Employee* p = NULL;</tt></p> <p><tt>Employee* q = new Employee(”Hacker, Harry”, 35000);</tt></p> <p><tt>Employee* r = q;</tt></p> <p>瀹為檯涓婂湪C++涓繕鏈夌鍥涚鍙兘錛岄偅灝辨槸鎸囬拡鍙互琚垵濮嬪寲涓哄彟澶栦竴涓璞$殑鍦板潃錛岃繖闇瑕佷嬌鐢ㄥ湴鍧鎿嶄綔絎?<tt>&</tt> 錛?/p> <p><tt>Employee boss(”Morris, Melinda”, 83000);</tt></p> <p><tt>Employee* s = &boss;</tt></p> <p>榪欏疄闄呬笂騫朵笉鏄粈涔堝ソ涓繪剰銆備繚闄╃殑鍋氭硶榪樻槸搴旇鐩存帴璁╂寚閽堟寚鍚戜嬌鐢?<tt>new</tt>鐢熸垚鐨勬柊瀵硅薄銆?/p> <p>鍒扮洰鍓嶄負(fù)姝紝C++ 鎸囬拡鐪嬭搗鏉ラ潪甯稿儚 Java 鐨勫璞″彉閲忋傜劧鑰岋紝榪欓噷鏈変竴涓緢閲嶈鐨勮娉曠殑涓嶅悓銆傛垜浠繀欏諱嬌鐢ㄦ槦鍙鋒搷浣滅 <tt>*</tt> 鏉ヨ闂寚閽堟寚鍚戠殑瀵硅薄銆傚鏋?<tt>p</tt> 鏄竴涓寚鍚?tt>Employee</tt>瀵硅薄鐨勬寚閽堬紝鍒?<tt>*p</tt> 鎵嶄唬琛ㄤ簡榪欎釜瀵硅薄錛?/p> <p><tt>Employee* p = . . .;</tt></p> <p><tt>Employee boss = <strong>*p</strong>;</tt></p> <p>褰撴垜浠渶瑕佹墽琛屽璞$殑鍑芥暟鎴栬闂璞$殑涓涓暟鎹煙鏃訛紝涔熼渶瑕佷嬌鐢?<tt>*p</tt> 錛?/p> <p><tt>(*p).setSalary(91000);</tt></p> <p>*p澶栭潰鐨勬嫭鍙鋒槸蹇呴渶鐨勶紝鍥犱負(fù) <tt>.</tt> 鎿嶄綔絎︽瘮 * 鎿嶄綔絎︽湁鏇撮珮鐨勪紭鍏堢駭銆侰鐨勮璁¤呰寰楄繖縐嶅啓娉曞緢闅劇湅錛屾墍浠ヤ粬浠彁渚涗簡鍙﹀涓縐嶆浛浠g殑鍐欐硶錛屼嬌鐢?-> 鎿嶄綔絎︽潵瀹炵幇 <tt>*</tt> 鍜?<tt>.</tt> 鎿嶄綔絎︾殑緇勫悎鍔熻兘銆傝〃杈懼紡</p> <p><tt>p->setSalary(91000);</tt></p> <p>鍙互璋冪敤瀵硅薄*p鐨勫嚱鏁?<tt>setSalary</tt> 銆備綘鍙互綆鍗曠殑璁頒綇 <tt>.</tt> 鎿嶄綔絎︽槸鍦ㄥ璞′笂浣跨敤鐨勶紝-> 鎿嶄綔絎︽槸鍦ㄦ寚閽堜笂浣跨敤鐨勩?/p> <p>濡傛灉浣犱笉鍒濆鍖栦竴涓寚閽堬紝鎴栬呭鏋滀竴涓寚閽堜負(fù)絀哄?NULL 鎴栨寚鍚戠殑瀵硅薄涓嶅啀瀛樺湪錛屽垯鍦ㄥ畠涓婇潰浣跨敤 <tt>*</tt> 鎴?<tt>-></tt> 鎿嶄綔絎﹀氨浼?xì)鍑洪敊銆?涓嶅垢鐨勬槸 C++ runtime 緋葷粺騫朵笉媯(gè)鏌ヨ繖涓嚭閿欍傚鏋滀綘鑼冧簡榪欎釜閿欒錛屼綘鐨勭▼搴忓彲鑳戒細(xì)琛屼負(fù)鍙ゆ垨姝繪満銆?/p> <p>鑰屽湪Java涓紝榪欎簺閿欒鏄笉浼?xì)鍙戠敓鐨勩傛墍鏈夌殑reference閮藉繀欏誨垵濮嬪寲錛屾墍鏈夌殑瀵硅薄鍙浠嶆湁reference鎸囧悜瀹冨氨涓嶄細(xì)琚粠鍐呭瓨涓竻闄わ紝鍥犳浣犱篃涓嶄細(xì)鏈変竴涓寚鍚戝凡琚垹闄ょ殑瀵硅薄鐨剅eference銆侸ava鐨剅untime 緋葷粺浼?xì)妫鏌eference鏄惁涓虹┖錛屽茍鍦ㄩ亣鍒扮┖鎸囬拡鏃舵姏鍑轟竴涓猲ull pointer鐨勪緥澶?exception)銆?/p> <p>C++ 鍜?Java榪樻湁涓涓樉钁楃殑涓嶅悓錛屽氨鏄?Java 鏈?em>鍨冨溇鍥炴敹</em>鍔熻兘錛岃兘澶熻嚜鍔ㄥ洖鏀惰搴熷純鐨勫璞°傝屽湪C++涓紝闇瑕佺▼搴忓憳鑷繁綆$悊鍐呭瓨鍒嗛厤鍥炴敹銆?/p> <p>C++涓綋瀵硅薄鍙橀噺瓚呭嚭鑼冨洿鏃跺彲浠ヨ嚜鍔ㄨ鍥炴敹銆備絾鏄嬌鐢╪ew鐢熸垚鐨勫璞″繀欏葷敤delete鎿嶄綔絎︽墜鍔ㄥ垹闄わ紝渚嬪錛?/p> <p><tt>Employee* p = new Employee(”Hacker, Harry”, 38000);</tt></p> <p><tt>. . .</tt></p> <p><tt>delete p; /* 涓嶅湪闇瑕佽繖涓璞?*/</tt></p> <p>濡傛灉浣犲繕璁板垹闄や竴涓璞★紝閭d箞浣犵殑紼嬪簭鏈夊彲鑳芥渶緇堢敤鍏夋墍鏈夊唴瀛樸傝繖灝辨槸鎴戜滑甯歌鐨勫唴瀛樻硠婕?(<em>memory leak</em>)銆傛洿閲嶈鐨勬槸錛屽鏋滀綘濡傛灉鍒犻櫎浜嗕竴涓璞★紝鐒跺悗鍙堢戶緇嬌鐢ㄥ畠錛屼綘鍙兘瑕嗙洊涓嶅睘浜庝綘鐨勬暟鎹傚鏋滀綘鍒氬閥瑕嗙洊浜嗙敤浜庡鐞嗗唴瀛樺洖鏀剁殑鏁版嵁鍩燂紝閭d箞鍐呭瓨鍒嗛厤鏈哄埗灝卞彲鑳借繍杞け甯歌岄犳垚鏇翠弗閲嶇殑閿欒錛岃屼笖寰堥毦璇婃柇鍜屼慨澶嶃傚洜姝わ紝鍦–++涓渶濂藉敖閲忓皯鐢ㄦ寚閽?/p> <br><br><br> <h2>9. 緇ф壙</h2> <p>C++鍜孞ava涓戶鎵跨殑鍩烘湰璇硶鏄緢鐩鎬技鐨勩傚湪C++涓紝浣跨敤 <tt>: public</tt> 浠f浛Java涓殑<tt>extends</tt> 鏉ヨ〃紺虹戶鎵垮叧緋?銆?(C++ 涔熸敮鎸佺鏈夌戶鎵跨殑姒傚康錛屼絾鏄笉澶湁鐢ㄣ?</p> <p>榛樿鎯呭喌涓嬶紝C++涓殑鍑芥暟涓嶆槸鍔ㄦ佺粦瀹氱殑銆傚鏋滀綘闇瑕佹煇涓嚱鏁板疄鐜板姩鎬佺粦瀹氾紝闇瑕佷嬌鐢?tt>virtual</tt>澹版槑瀹冧負(fù)铏氬嚱鏁幫紝渚嬪錛?/p> <p><tt>class Manager : public Employee</tt></p> <p><tt>{ </tt></p> <p><tt>public:</tt></p> <p><tt>Manager(string name, double salary, string dept);</tt></p> <p><tt><strong>virtual</strong> void print() const;</tt></p> <p><tt>private:</tt></p> <p><tt>string department;</tt></p> <p><tt>};</tt></p> <p>鍚孞ava涓鏍鳳紝鏋勯犲嚱鏁頒腑璋冪敤鐖剁被鐨勬瀯閫犲嚱鏁版湁鐗規(guī)畩鐨勮娉曘?Java浣跨敤鍏抽敭瀛?<tt>super</tt>銆侰++涓繀欏誨湪瀛愮被鐨勬瀯閫犲嚱鏁頒綋澶栬皟鐢ㄧ埗綾葷殑鏋勯犲嚱鏁般備笅闈㈡槸涓涓緥瀛愶細(xì)</p> <p><tt>Manager::Manager(string name, double salary, string dept)</tt></p> <p><tt><strong>: Employee(name, salary) </strong>/* 璋冪敤鐖剁被鐨勬瀯閫犲嚱鏁?*/</tt></p> <p><tt>{ department = dept;</tt></p> <p><tt>}</tt></p> <p>Java 涓湪瀛愮被鍑芥暟涓皟鐢ㄧ埗綾葷殑鍑芥暟鏃朵篃浣跨敤鍏抽敭瀛?<tt>super</tt> 銆傝屽湪C++涓槸浣跨敤鐖剁被鐨勫悕縐板姞涓婃搷浣滅 <tt>::</tt>琛ㄧず錛屼緥濡傦細(xì)</p> <p><tt>void Manager::print() const</tt></p> <p><tt>{ <strong>Employee::print(); </strong>/* 璋冪敤鐖剁被鐨勫嚱鏁?*/</tt></p> <p><tt>cout << department << “\n”;</tt></p> <p><tt>}</tt></p> <p>涓涓?C++ 瀵硅薄鍙橀噺鍙兘瀛樺偍鐗瑰畾綾誨瀷鐨勫璞″箋傝鎯沖湪C++涓疄鐜板鎬?polymorphism)錛屽繀欏諱嬌鐢ㄦ寚閽堛備竴涓?<tt>T*</tt> 鎸囬拡鍙互鎸囧悜綾誨瀷涓?<tt>T</tt> 鎴?<tt>T</tt> 鐨勪換鎰忓瓙綾葷殑瀵硅薄錛屼緥濡傦細(xì)</p> <p><tt>Employee* e = new Manager(”Morris, Melinda”, 83000, “Finance”);</tt></p> <p>浣犲彲浠ュ皢鐖剁被鍜屼笉鍚屽瓙綾葷殑瀵硅薄娣峰悎鏀墮泦鍒頒竴涓厓绱犲潎涓烘寚閽堢殑鍚戦噺涓紝鐒跺悗璋冪敤鍔ㄦ佺粦瀹氱殑鍑芥暟錛屽涓嬫墍紺猴細(xì)</p> <p><tt>vector<Employee*> staff;</tt></p> <p><tt>. . .</tt></p> <p><tt>for (i = 0; i < staff.size(); i++)</tt></p> <p><tt>staff[i]->print();</tt></p> <img src ="http://m.shnenglu.com/smallfa/aggbug/68932.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/smallfa/" target="_blank">henry08</a> 2008-12-09 13:43 <a href="http://m.shnenglu.com/smallfa/archive/2008/12/09/68932.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>姝g‘鐨勬柟娉曟槸瀹氫箟operator++浠eference涓哄弬鏁扮被鍨? C++涓璕eference涓庢寚閽堬紙Pointer錛夌殑浣跨敤瀵規(guī)瘮http://m.shnenglu.com/smallfa/archive/2008/12/09/68928.htmlhenry08henry08Tue, 09 Dec 2008 05:16:00 GMThttp://m.shnenglu.com/smallfa/archive/2008/12/09/68928.htmlhttp://m.shnenglu.com/smallfa/comments/68928.htmlhttp://m.shnenglu.com/smallfa/archive/2008/12/09/68928.html#Feedback0http://m.shnenglu.com/smallfa/comments/commentRss/68928.htmlhttp://m.shnenglu.com/smallfa/services/trackbacks/68928.htmlday &operator++(day &d)
{
d = (day)(d + 1);
return d;
}

浣跨敤榪欎釜鍑芥暟錛?琛ㄨ揪寮?++x 鎵嶆湁姝g‘鐨勬樉紺轟互鍙?qiáng)姝<嫯鐨勬搷浣溿?br>Passing by reference涓嶄粎浠呮槸鍐檕perator++杈冨ソ鐨勬柟娉曪紝鑰屾槸鍞竴鐨勬柟娉曘?br>

 C++鍦ㄨ繖閲屽茍娌℃湁緇欐垜浠夋嫨鐨勪綑鍦般?br> 鍍忎笅闈㈢殑澹版槑:
day *operator++(day *d);
鏄笉鑳?閫氳繃緙栬瘧鐨勩?br>姣忎釜閲嶈澆鐨勬搷浣滅鍑芥暟蹇呴』鎴栬呮槸涓涓被鐨勬垚鍛橈紝 鎴栬呬嬌鐢ㄧ被鍨婽銆?T & 鎴?T const & 涓哄弬鏁扮被鍨嬶紝
榪欓噷T鏄竴涓被(class)鎴栧垪涓?enumeration)綾誨瀷銆?

涔熷氨鏄錛屾瘡涓涓噸杞芥搷浣滅蹇呴』浠ョ被鎴栧垪涓劇被鍨嬩負(fù)鍙傛暟綾誨瀷銆?br>
鎸囬拡錛屽嵆浣挎槸鎸囧悜涓涓被鎴栧垪涓劇被鍨嬪璞$殑鎸囬拡錛屼篃涓嶅彲浠ョ敤銆?br>
C++ 涓嶅厑璁稿湪閲嶈澆鎿嶄綔絎︽椂閲嶆柊瀹氫箟鍐呯疆鎿嶄綔絎︾殑鍚箟錛屽寘鎷寚閽堢被鍨嬨?br>鍥犳錛屾垜浠笉鍙互瀹氫箟錛?br>int operator++(int i); // 閿欒
鍥犱負(fù)瀹冭瘯鍥懼int閲嶆柊瀹氫箟鎿嶄綔絎?++ 鐨勫惈涔夈?鎴戜滑涔熶笉鍙互瀹氫箟錛?br>int *operator++(int *i); // 閿欒
鍥犱負(fù)瀹冭瘯鍥懼 int * 閲嶆柊瀹氫箟鎿嶄綔絎?++ 鐨勫惈涔?br>

 

 

References vs. const pointers

C++ 涓笉鍏佽瀹氫箟”const reference”錛?br> 鍥犱負(fù)涓涓猺eference澶╃敓灝辨槸const銆備篃灝辨槸璇達(dá)紝涓鏃﹀皢涓涓猺eference緇戝畾鍒頒竴涓璞★紝灝辨棤娉曞啀灝嗗畠閲嶆柊緇戝畾鍒板彟涓涓笉鍚岀殑瀵硅薄銆?br>鍦ㄥ0 鏄庝竴涓猺eference涔嬪悗娌℃湁鍐欐硶鍙互灝嗗畠閲嶆柊緇戝畾鍒板彟澶栦竴涓璞°?br>渚嬪錛?br>int &ri = i;
灝?ri 緇戝畾鍒?i 銆傜劧鍚庝笅闈㈢殑璧嬪?
ri = j;
騫朵笉鏄妸 ri 緇戝畾鍒?j 錛岃屾槸灝?j 涓殑鍊艱祴緇?ri 鎸囧悜鐨勫璞★紝涔熷氨鏄祴緇?i 銆?br>


綆鑰岃█涔嬶紝
涓涓猵ointer鍦ㄥ畠鐨勬湁鐢熶箣騫村彲浠ユ寚鍚戣澶氫笉鍚岀殑瀵硅薄錛?br>鑰屼竴涓猺eference鍙兘澶熸寚鍚戜竴涓璞°?br>鏈変簺浜鴻涓鴻繖鎵嶆槸 reference鍜?pointer鏈澶х殑涓嶅悓銆?br>鎴戝茍涓嶈禐鎴愩備篃璁歌繖鏄痳eference涓巔ointer鐨勪竴鐐逛笉鍚岋紝 浣嗗茍涓嶆槸reference鍜宑onst pointer鐨勪笉鍚屻?br>鍦ㄥ己璋冧竴閬嶏紝涓鏃︿竴涓猺eference涓庝竴涓璞$粦瀹氾紝灝變笉鑳藉啀灝嗗畠鏀規(guī)寚鍚戝彟澶栫殑涓滆タ銆?br>鏃㈢劧涓嶈兘鍐嶇粦瀹歳eference涔嬪悗鍐?鏀瑰彉錛?涓涓猺eference灝卞繀欏誨湪涓鍑虹敓灝辮緇戝畾銆?br>鍚﹀垯榪欎釜reference灝辨案榪滀笉鑳借緇戝畾鍒頒換浣曚笢瑗匡紝涔熷氨姣棤鐢ㄥ浜嗐?/p>

涓婁竴孌電殑璁ㄨ涔熷悓鏍峰畬鍏ㄩ傜敤浜庡父閲忔寚閽堬紙const pointer錛夈?br>錛堟敞鎰忥紝鎴戣繖閲岃鐨勬槸甯擱噺鎸囬拡錛坈onst pointer錛夛紝 鑰屼笉鏄寚鍚戝父閲忕殑鎸囬拡 “pointers to const”銆?
 渚嬪錛?br>涓涓猺eference澹版槑蹇呴』鍚屾椂甯︽湁涓涓垵濮嬪寲璧嬪鹼紝濡備笅鎵紺猴細(xì)

void f()
{
int &r = i;

}

鐪佺暐榪欎釜鍒濆鍖栬祴鍊煎皢浜х敓涓涓紪璇戦敊璇細(xì)

void f()
{
int &r; //閿欒

}

涓涓父閲忔寚閽堢殑澹版槑涔熷悓鏍峰繀欏誨甫鏈変竴涓垵濮嬪寲璧嬪鹼紝濡備笅鎵紺猴細(xì)

void f()
{
int *const p = &i;

}

鐪佺暐榪欎釜鍒濆鍖栬祴鍊煎悓鏍蜂細(xì)鍑洪敊錛?/p>

void f(){
int *const p; // 閿欒

}

鍦ㄦ垜鐪嬫潵
涓嶈兘澶熷reference浜屾緇戝畾浣滀負(fù)reference涓巔ointer鐨勪笉鍚屻?br>騫朵笉姣斿父閲忔寚閽堝拰闈炲父閲忔寚閽堢殑涓嶅悓鏇翠負(fù)鏄捐憲銆?br>



Null references

闄や簡鏄劇ず鐨勪笉鍚岋紝甯擱噺鎸囬拡涓巖eference榪樻湁涓鐐歸潪甯鎬笉鍚岋紝閭e氨鏄紝涓涓湁鏁堢殑reference蹇呴』鎸囧悜涓涓璞★紱鑰屼竴涓寚閽堜笉闇瑕併備竴涓寚閽堬紝鍗充嬌鏄竴涓父閲忔寚閽堬紝 閮藉彲浠ユ湁絀哄箋?涓涓┖鎸囬拡涓嶆寚鍚戜換浣曚笢瑗褲?/p>

榪欑偣涓嶅悓灝辨殫紺哄綋浣犳兂瑕佺‘淇′竴涓弬鏁板繀欏繪寚鍚戜竴涓璞$殑鏃跺欙紝搴旇浣跨敤reference浣滀負(fù)鍙傛暟綾誨瀷銆?渚嬪錛屼氦鎹㈠嚱鏁?swap function)錛屽畠鎺ュ彈涓や釜int鍙傛暟錛屽茍灝嗕袱涓弬鏁扮殑鏁板煎璋冿紝濡備笅鎵紺猴細(xì)

int i, j;
swap(i, j);

灝嗗師鏈湪 i 涓殑鍊兼斁鍒?j 涓紝 騫跺皢鍘熸湰鍦?j 涓殑鍊兼斁鍒?i 涓傛垜浠彲浠ヨ繖鏍峰啓榪欎釜鍑芥暟錛?/p>

void swap(int *v1, int *v2)
{
int temp = *v1;
*v1 = *v2;
*v2 = temp;
}

榪欑瀹氫箟涓嬶紝鍑芥暟瑕佸儚榪欐牱琚皟鐢? swap(&i, &j);

榪欎釜鎺ュ彛鏆楃ず鍏朵腑涓涓垨涓や釜鍙傛暟閮芥湁鍙兘涓虹┖(null)銆傝岃繖涓殫紺烘槸璇鐨勩備緥濡傦紝璋冪敤
swap(&i, NULL);
鐨勫悗鏋滃緢鍙兘鏄笉鎰夊揩鐨勩?/p>

鑰屽儚涓嬮潰榪欐牱瀹氫箟reference涓哄弬鏁幫細(xì)

void swap(int &v1, int &v2)
{
int temp = v1;
v1 = v2;
v2 = temp;
}

娓呮櫚鐨勮〃鏄庝簡璋冪敤swap搴旇鎻愪緵涓や釜瀵硅薄錛屽畠浠殑鍊煎皢琚氦鎹€?騫朵笖榪欐牱瀹氫箟鐨勫彟涓涓ソ澶勬槸錛屽湪璋冪敤榪欎釜鍑芥暟鐨勬椂鍊欙紝涓嶉渶瑕佷嬌鐢ㄩ偅浜?amp;絎﹀彿錛岀湅璧鋒潵鏇撮『鐪鹼細(xì)
swap(i, j);








 

Null references

闄や簡鏄劇ず鐨勪笉鍚岋紝
甯擱噺鎸囬拡涓巖eference榪樻湁涓鐐歸潪甯鎬笉鍚岋紝
閭e氨鏄紝涓涓湁鏁堢殑reference蹇呴』鎸囧悜涓涓璞★紱

鑰?span style="COLOR: red">涓涓寚閽堜笉闇瑕?/span>銆?br>涓涓寚閽堬紝鍗充嬌鏄竴涓父閲忔寚閽堬紝 閮藉彲浠ユ湁絀哄箋?涓涓┖鎸囬拡涓嶆寚鍚戜換浣曚笢瑗褲?br>

榪欑偣涓嶅悓灝辨殫紺哄綋浣犳兂瑕佺‘淇′竴涓弬鏁板繀欏繪寚鍚戜竴涓璞$殑鏃跺欙紝搴旇浣跨敤reference浣滀負(fù)鍙傛暟綾誨瀷銆?/span>
 渚嬪錛?br>浜ゆ崲鍑芥暟(swap function)錛屽畠鎺ュ彈涓や釜int鍙傛暟錛屽茍灝嗕袱涓弬鏁扮殑鏁板煎璋冿紝濡備笅鎵紺猴細(xì)

int i, j;
swap(i, j);

灝嗗師鏈湪 i 涓殑鍊兼斁鍒?j 涓紝 騫跺皢鍘熸湰鍦?j 涓殑鍊兼斁鍒?i 涓傛垜浠彲浠ヨ繖鏍峰啓榪欎釜鍑芥暟錛?/p>

void swap(int *v1, int *v2)
{
int temp = *v1;
*v1 = *v2;
*v2 = temp;
}

榪欑瀹氫箟涓嬶紝鍑芥暟瑕佸儚榪欐牱琚皟鐢? swap(&i, &j);

榪欎釜鎺ュ彛鏆楃ず鍏朵腑涓涓垨涓や釜鍙傛暟閮芥湁鍙兘涓虹┖(null)銆傝岃繖涓殫紺烘槸璇鐨勩備緥濡傦紝璋冪敤
swap(&i, NULL);
鐨勫悗鏋滃緢鍙兘鏄笉鎰夊揩鐨勩?/p>

鑰屽儚涓嬮潰榪欐牱瀹氫箟reference涓哄弬鏁幫細(xì)

void swap(int &v1, int &v2)
{
int temp = v1;
v1 = v2;
v2 = temp;
}

娓呮櫚鐨勮〃鏄庝簡璋冪敤swap搴旇鎻愪緵涓や釜瀵硅薄錛屽畠浠殑鍊煎皢琚氦鎹€?騫朵笖榪欐牱瀹氫箟鐨勫彟涓涓ソ澶勬槸錛屽湪璋冪敤榪欎釜鍑芥暟鐨勬椂鍊欙紝涓嶉渶瑕佷嬌鐢ㄩ偅浜?amp;絎﹀彿錛岀湅璧鋒潵鏇撮『鐪鹼細(xì)
swap(i, j);


鏇村畨鍏?


鏈変簺浜鴻涓烘棦鐒秗eference涓嶈兘澶熶負(fù)絀猴紝閭d箞瀹冨簲璇ユ瘮鎸囬拡鏇村畨鍏ㄣ?br> 鎴戣涓簉eference鍙兘瑕佸畨鍏ㄤ竴鐐癸紝浣嗕笉浼?xì)瀹夊叏寰堝銆?br>铏界劧涓涓湁鏁堢殑reference涓嶈兘涓虹┖錛屼絾鏄棤鏁堢殑鍙互鍛銆?br>瀹為檯涓婏紝鍦ㄥ緢澶氭儏鍐典笅紼嬪簭鏈夊彲 鑳戒駭鐢熸棤鏁堢殑reference錛岃屼笉鍙槸絀虹殑reference銆?/span>

 渚嬪錛?/span>
浣犲彲浠ュ畾涔変竴涓猺eference錛屼嬌瀹冪粦瀹氬埌涓涓寚閽堟寚鍚戠殑瀵硅薄錛屽涓嬫墍紺猴細(xì)

int *p;

int &r = *p;

濡傛灉鎸囬拡*p鍦╮eference瀹氫箟鏃跺垰濂戒負(fù)絀猴紝鍒欒繖涓猺eference涓虹┖銆?br> 浠庢妧鏈笂鏉ヨ錛岃繖涓敊璇茍涓嶅湪浜庡皢reference緇戝畾鍒頒竴涓┖鍊鹼紝鑰屾槸鍦ㄤ簬瀵逛竴涓┖鎸囬拡鍘誨弬鑰冦?br> 瀵逛竴涓┖鎸囬拡鍘誨弬鑰冧駭鐢熶簡涓涓笉紜畾鐨勬搷浣滐紝涔熷氨鎰忓懗鐫寰堝浜嬮兘鍙兘鍙戠敓錛岃屼笖澶ч儴鍒嗛兘涓嶆槸浠涔堝ソ浜嬨傚緢鏈夊彲鑳藉綋紼嬪簭灝唕eference r 緇戝畾鍒?p (p鎵鎸囧悜鐨勫璞?鐨勬椂鍊欙紝p瀹為檯涓婃病鏈夎鍘誨弬鑰冿紝鐢氳嚦紼嬪簭鍙槸灝唒鐨勫兼嫹璐濈粰瀹炵幇r鐨勬寚閽堛?br>鑰岀▼搴忓皢浼?xì)鐟艟l墽琛屼笅鍘葷洿鍒伴敊璇湪鍚庨潰鐨勮繍琛屼腑鏇翠負(fù)鏄庢樉鐨勮〃 鐜板嚭鏉ワ紝浜х敓涓嶅彲棰勭煡鐨勫嵄瀹熾?/p>

涓嬮潰鐨勫嚱鏁?br>灞曠ず浜?br>鍙﹀涓縐嶄駭鐢熸棤鏁坮eference鐨勬柟娉曪細(xì)

int &f()
{
int i;

return i;
}

榪欎釜鍑芥暟榪斿洖涓涓寚鍚戞湰鍦板彉閲?i 鐨剅eference銆?br>鐒惰屽綋鍑芥暟榪斿洖鏃訛紝鏈湴鍙橀噺 i 鐨勫瓨鍌ㄧ┖闂翠篃灝辨秷澶變簡銆傚洜姝よ繖涓嚱鏁板疄闄呰繑鍥炰簡涓涓寚鍚戣鍥炴敹浜嗙殑絀洪棿鐨剅eference銆傝繖涓搷浣滀笌榪斿洖涓涓寚鍚戞湰鍦板彉閲忕殑鎸囬拡鐨勫悗鏋滅浉鍚屻?br>鏈変簺緙栬瘧 鍣ㄥ彲浠ュ湪緙栬瘧鏃跺彂鐜拌繖涓敊璇紝浣嗕篃寰堟湁鍙兘涓嶄細(xì)鍙戠幇銆?br>



鎴戝枩嬈eference錛屼篃鏈夊緢濂界殑鐞嗙敱浣跨敤瀹冧滑浠f浛pointer銆?br>
浣嗗鏋滀綘鏈熸湜浣跨敤reference鏉ヤ嬌浣犵殑紼嬪簭鍋ュ.鎬ф樉钁楀寮猴紝閭d箞浣犲鍗婁細(xì)澶辨湜鐨?br>


鍙傝冭祫鏂欙細(xì)

  1. Saks, Dan. “Introduction to References,” Embedded Systems Programming, January 2001, p. 81.
  2. Saks, Dan. “References and const“, Embedded Systems Programming February 2001, p. 73.


henry08 2008-12-09 13:16 鍙戣〃璇勮
]]>
VC6.0涓噸杞芥搷浣滅鍑芥暟鏃犳硶璁塊棶綾葷殑縐佹湁鎴愬憳http://m.shnenglu.com/smallfa/archive/2008/12/08/68892.htmlhenry08henry08Mon, 08 Dec 2008 15:50:00 GMThttp://m.shnenglu.com/smallfa/archive/2008/12/08/68892.htmlhttp://m.shnenglu.com/smallfa/comments/68892.htmlhttp://m.shnenglu.com/smallfa/archive/2008/12/08/68892.html#Feedback2http://m.shnenglu.com/smallfa/comments/commentRss/68892.htmlhttp://m.shnenglu.com/smallfa/services/trackbacks/68892.html鍦?C++ 涓紝鎿嶄綔絎?榪愮畻絎︼級(jí)鍙互琚噸杞戒互鏀瑰啓鍏跺疄闄呮搷浣溿?br>鍚屾椂鎴戜滑鍙互瀹氫箟涓涓嚱鏁頒負(fù)綾葷殑鏈嬪弸鍑芥暟(friend function)浠ヤ究浣垮緱榪欎釜鍑芥暟鑳藉璁塊棶綾葷殑縐佹湁鎴愬憳錛?br>榪欎釜瀹氫箟閫氬父鍦ㄥご鏂囦歡涓畬鎴愩?/p>

鍦╒isual C++涓畾涔変竴鑸殑鍑芥暟涓烘湅鍙嬪嚱鏁伴氬父鏄病鏈夐棶棰樼殑銆?br>鐒惰屽鏌愪簺閲嶈澆鎿嶄綔絎︾殑鍑芥暟錛?br>鍗充嬌鎴戜滑灝嗗畠浠畾涔変負(fù)綾葷殑鏈嬪弸鍑芥暟錛孷C鐨勭紪璇戝櫒浠嶇劧浼?xì)鏄窘C哄嚭閿欎俊鎭紝
璁や負(fù)榪欎簺鏈嬪弸鍑芥暟鏃犳潈璁塊棶綾葷殑縐佹湁鎴愬憳銆?br>鎴戣涓鴻繖搴旇鏄疺C6.0鐨刡ug銆?br>

浠ヤ笅浠g爜灝辨槸涓緥瀛?

// 澶存枃浠?“Sample.h”
            #include<iostream>
            using namespace std;
            class Sample {
            public:
            Sample();
            friend ostream &operator<<(ostream &out, const Sample s);
            friend istream &operator>>(istream &in, Sample & s);
            private:
            int x;
            };

// 瀹炵幇鏂囦歡 “Sample.cpp”
            #include “Sample.h”
            Sample::Sample() {
            x=0;
            }
            istream &operator>>(istream &in, Sample & s) {
            cout<<”Please enter a value”<<endl;
            in >> s.x ;
            return in;
            }
            ostream &operator<<(ostream &out, const Sample s) {
            cout << s.x << endl;
            return out;
            }

浠ヤ笂浠g爜鍦╣nuc++涓紪璇戣繍琛屾鏃犻棶棰樸備絾鏄湪VC++6.0涓紪璇戠殑鏃跺欏氨浼?xì)鍑虹庮C互涓嬬殑緙栬瘧閿欒錛?/p>
Compiling…
Sample.cpp
c:\temp\sample.cpp(8) : error C2248: ‘x’ : cannot access private member declared in class ‘Sample’
c:\temp\sample.h(19) : see declaration of ‘x’
c:\temp\sample.cpp(13) : error C2248: ‘x’ : cannot access private member declared in class ‘Sample’
c:\temp\sample.h(19) : see declaration of ‘x’
Error executing cl.exe.Sample.obj - 2 error(s), 0 warning(s)

鍦╒C++ 6.0涓В鍐寵繖涓棶棰樻湁浠ヤ笅鍑犵鏂規(guī)硶錛?/p>

  • 鍦ㄥご鏂囦歡涓疄鐜頒綔涓烘湅鍙嬪嚱鏁扮殑鎿嶄綔絎﹀嚱鏁扮殑閲嶈澆錛屼篃灝辨槸璇村湪瀹炵幇鏂囦歡”Sample.cpp”涓皢鍑芥暟閲嶈澆鐨勫疄鐜板幓鎺夛紝鑰屽皢澶存枃浠朵慨鏀瑰涓嬶細(xì)
    // 淇敼鍚庣殑澶存枃浠?1 “Sample.h”
                    #include<iostream>
                    using namespace std;
                    class Sample {
                    public:
                    Sample();
                    friend ostream &operator<<(ostream &out, const Sample s);
                    friend ostream &operator<<(ostream &out, const Sample s) {
                    cout << s.x << endl;
                    return out;
                    }
                    friend istream &operator>>(istream &in, Sample & s);
                    friend istream &operator>>(istream &in, Sample & s) {
                    cout<<”Please enter a value”<<endl;
                    in >> s.x ;
                    return in;
                    }
                    private:
                    int x;
                    };
    
        
  • 鍦ㄥご鏂囦歡涓被瀹氫箟涔嬪墠灝嗙被鍜屾湅鍙嬫搷浣滅鍑芥暟鐨勫師鍨嬬壒鍒0鏄庝竴涓嬶紝涔熷氨鏄皢澶存枃浠朵慨鏀瑰涓?瀹炵幇鏂囦歡”Sample.cpp”涓嶇敤浣滀換浣曚慨鏀?錛?br>
    // 淇敼鍚庣殑澶存枃浠?2 “Sample.h”
                    #include<iostream>
                    using namespace std;
                    // 浠ヤ笅3琛屼唬鐮佷負(fù)鏂板姞鍏?
                    class Sample;
                    ostream &operator<<(ostream &out, const Sample s);
                    istream &operator>>(istream &in, Sample & s);
                    class Sample {
                    public:
                    Sample();
                    friend ostream &operator<<(ostream &out, const Sample s);
                    friend istream &operator>>(istream &in, Sample & s);
                    private:
                    int x;
                    };
    
        
  • 絎笁縐嶆柟娉曟槸瀵笽/O鍚嶇┖闂寸殑浣跨敤瀹炶鏄庣‘澹版槑錛屼篃灝辨槸璇村湪澶存枃浠?#8221;Sample.h”涓洿鎺ュ啓錛?br>#include<iostream>
    using std::ostream;
    using std::istream
    ….
    鍙栦唬 “using namespace std;”
    娉ㄦ剰錛氬湪榪欎釜渚嬪瓙閲屾垜浠湪瀹炵幇鏂囦歡 “Sample.cpp”涓寘鍚?“using namespace std;”榪欏彞璇濓紝鍚﹀垯鍦ㄥ疄鐜頒腑灝變笉鑳戒嬌鐢?“cout” , “cin”, “<< “, “>>” 鍜?endl 榪欎簺鍏抽敭瀛楀拰絎﹀彿銆備慨鏀瑰悗鐨勫畬鏁翠唬鐮佸涓嬶細(xì)

     

    // Sample.h
                    #include<iostream>
                    using std::istream;
                    using std::ostream;
                    class Sample {
                    public:
                    Sample();
                    friend ostream &operator<<(ostream &out, const Sample s);
                    /*friend ostream &operator<<(ostream &out, const Sample s) {
                    cout << s.x << endl;
                    return out;
                    }*/
                    friend istream &operator>>(istream &in, Sample & s);
                    /*friend istream &operator>>(istream &in, Sample & s) {
                    cout<<”Please enter a value”<<endl;
                    in >> s.x ;
                    return in;
                    }*/
                    private:
                    int x;
                    };
    // “Sample.cpp”
                    #include “Sample.h”
                    using namespace std;
                    Sample::Sample() {
                    x=5;
                    }
                    istream &operator>>(istream &in, Sample & s) {
                    cout<<”Please enter a value”<<endl;
                    in >> s.x ;
                    return in;
                    }
                    ostream &operator<<(ostream &out, const Sample s) {
                    cout << s.x << endl;
                    return out;
                    }
    
        


henry08 2008-12-08 23:50 鍙戣〃璇勮
]]>
綾誨瀷杞崲楂樼駭 (Advacned Class Type-casting)http://m.shnenglu.com/smallfa/archive/2008/12/08/68836.htmlhenry08henry08Mon, 08 Dec 2008 04:58:00 GMThttp://m.shnenglu.com/smallfa/archive/2008/12/08/68836.htmlhttp://m.shnenglu.com/smallfa/comments/68836.htmlhttp://m.shnenglu.com/smallfa/archive/2008/12/08/68836.html#Feedback0http://m.shnenglu.com/smallfa/comments/commentRss/68836.htmlhttp://m.shnenglu.com/smallfa/services/trackbacks/68836.htmlreinterpret_cast

reinterpret_cast 鍙互灝嗕竴涓寚閽堣漿鎹負(fù)浠繪剰鍏跺畠綾誨瀷鐨勬寚閽?/span>銆?br>瀹冧篃鍙互鐢ㄦ潵灝嗕竴涓寚閽堣漿鎹負(fù)涓涓暣鍨嬶紝鎴栧弽涔嬩害鐒躲?/p>

榪欎釜鎿嶄綔絎﹀彲浠ュ湪浜掍笉鐩稿叧鐨勭被涔嬮棿榪涜鎸囬拡杞崲錛?br>鎿嶄綔鐨勭粨鏋滄槸綆鍗曠殑灝嗕竴涓寚閽堢殑浜岃繘鍒舵暟鎹?binary copy)澶嶅埗鍒板彟涓涓寚閽堛?br>瀵規(guī)寚閽堟寚鍚戠殑鍐呭涓嶅仛浠諱綍媯(gè)鏌ユ垨杞崲銆?br>

渚嬪錛?/p>

class A {};
class B {};
A * a = new A;
B * b = reinterpret_cast<B*>(a);

reinterpret_cast 瀵規(guī)墍鏈夋寚閽堢殑澶勭悊涓庝紶緇熺殑綾誨瀷杞崲絎︽墍浣滅殑涓妯′竴鏍楓?br>
_________________________________________________________________

static_cast

static_cast 鍙互鎵ц鎵鏈夎兘澶熼殣鍚墽琛岀殑綾誨瀷杞崲錛屼互鍙?qiáng)瀹冧滑鐨勫弽鍚戞搷浣滃Q堝嵆浣胯繖縐嶆柟鍚戞搷浣滄槸涓嶅厑璁?dāng)R殣鍚墽琛岀殑錛夈?/p>

鐢ㄤ簬綾葷殑鎸囬拡錛屼篃灝辨槸璇達(dá)紝瀹冨厑璁稿皢涓涓紩鐢崇被鐨勬寚閽堣漿鎹負(fù)鍏跺熀綾葷被鍨嬶紙榪欐槸鍙互琚殣鍚墽琛岀殑鏈夋晥杞崲錛夛紝鍚屾椂涔熷厑璁歌繘琛岀浉鍙嶇殑杞崲錛氬皢涓涓熀綾昏漿鎹負(fù)涓涓紩鐢崇被綾誨瀷銆?/p>

鍦ㄥ悗闈竴縐嶆儏鍐典腑錛?span style="COLOR: red">涓嶄細(xì)媯(gè)鏌ヨ杞崲鐨勫熀綾繪槸鍚︾湡姝e畬鍏ㄦ槸鐩爣綾誨瀷鐨?/span>銆備緥濡備笅闈㈢殑浠g爜鏄悎娉曠殑錛?/p>

class Base {};
class Derived: public Base {};
Base * a = new Base;
Derived * b = static_cast(a);

static_cast闄や簡鑳藉瀵圭被鎸囬拡榪涜鎿嶄綔錛岃繕鍙互琚敤鏉ヨ繘琛岀被涓槑紜畾涔夌殑杞崲錛屼互鍙?qiáng)瀵瑰熀鏈c誨瀷鐨勬爣鍑嗚漿鎹細(xì)

double d=3.14159265;
int i = static_cast<int>(d);

璇戣呮敞錛氬鏋滀綘瀵硅繖閮ㄥ垎鐪嬩笉澶噦錛岃緇撳悎涓嬮潰鐨刣ynamic_cast涓璧風(fēng)湅錛屼篃璁鎬細(xì)甯姪鐞嗚В銆?/p>











dynamic_cast

dynamic_cast 瀹屽叏琚敤鏉ヨ繘琛屾寚閽堢殑鎿嶄綔銆傚畠鍙互鐢ㄦ潵榪涜浠諱綍鍙互闅愬惈榪涜鐨勮漿鎹㈡搷浣滀互鍙?qiáng)瀹冧滑琚敤浜庡鎬佺被鎯呭喌涓嬬殑鏂瑰悜鎿嶄綔銆?br>
鐒惰屼笌static_cast涓嶅悓鐨勬槸錛?br> dynamic_cast 浼?xì)妫鏌ュ悗涓縐嶆儏鍐電殑鎿嶄綔鏄惁鍚堟硶錛?br>涔熷氨鏄瀹冧細(xì)媯(gè)鏌ョ被鍨嬭漿鎹㈡搷浣滄槸鍚︿細(xì)榪斿洖涓涓瑕佹眰綾誨瀷鐨勬湁鏁堢殑瀹屾暣鐨勫璞°?/span>

榪欑媯(gè)鏌ユ槸鍦ㄧ▼搴忚繍琛岃繃紼嬩腑榪涜鐨勩傚鏋滆杞崲鐨勬寚閽堟墍鎸囧悜鐨勫璞′笉鏄竴涓瑕佹眰綾誨瀷鐨勬湁鏁堝畬鏁寸殑瀵硅薄錛岃繑鍥炲煎皢浼?xì)鏄竴涓┖鎸囬拡NULL 銆?/p>

   class Base { virtual dummy(){}; };
class Derived : public Base { };


Base* b1 = new Derived;
Base* b2 = new Base;
Derived* d1 = dynamic_cast(b1); // succeeds Derived* d2 = dynamic_cast(b2); // fails: returns NULL

濡傛灉綾誨瀷杞崲琚敤鍦ㄥ紩鐢?reference)綾誨瀷涓婏紝鑰岃繖涓漿鎹笉鍙兘榪涜鐨勮瘽錛屼竴涓猙ad_cast 綾誨瀷鐨勪緥澶?exception)灝嗕細(xì)琚姏鍑猴細(xì)

  class Base { virtual dummy(){}; };
class Derived : public Base { };

Base* b1 = new Derived;
Base* b2 = new Base;
Derived d1 = dynamic_cast(b1); // succeeds Derived d2 = dynamic_cast(b2); // fails: exception thrown








const_cast

榪欑綾誨瀷杞崲瀵瑰父閲廲onst 榪涜璁劇疆鎴栧彇娑堟搷浣滐細(xì)

class C {};
const C * a = new C;
C * b = const_cast<C*> (a);

鍏朵粬3縐峜ast 鎿嶄綔絎﹂兘涓嶅彲浠ヤ慨鏀逛竴涓璞$殑甯擱噺灞炴?constness)銆?/p>




typeid

ANSI-C++ 榪樺畾涔変簡涓涓柊鐨勬搷浣滅鍙仛 typeid 錛?br>瀹冩鏌ヤ竴涓〃杈懼紡鐨勭被鍨嬶細(xì)

typeid (expression)

榪欎釜鎿嶄綔絎﹁繑鍥炰竴涓被鍨嬩負(fù)type_info鐨勫父閲忓璞℃寚閽堬紝榪欑綾誨瀷瀹氫箟鍦ㄦ爣鍑嗗ご鍑芥暟涓傝繖縐嶈繑鍥炲煎彲浠ョ敤鎿嶄綔絎?== 鍜?!= 鏉ヤ簰鐩歌繘琛屾瘮杈冿紝
涔熷彲浠ョ敤鏉ラ氳繃name()鍑芥暟鑾峰緱涓涓弿榪版暟鎹被鍨嬫垨綾誨悕縐扮殑瀛楃涓詫紝

渚嬪錛?/typeinfo>

    // typeid, typeinfo
            #include <iostream.h>
            #include <typeinfo>
            class CDummy { };
            int main () {
            CDummy* a,b;
            if (typeid(a) != typeid(b)) {
            cout << "a and b are of different types:\n";
            cout << "a is: " << typeid(a).name() << '\n';
            cout << "b is: " << typeid(b).name() << '\n';
            }
            return 0;
            }
            
a and b are of different types:
a is: class CDummy *
b is: class CDummy




henry08 2008-12-08 12:58 鍙戣〃璇勮
]]>
鍚嶇┖闂?(Namespaces)http://m.shnenglu.com/smallfa/archive/2008/12/08/68833.htmlhenry08henry08Mon, 08 Dec 2008 04:33:00 GMThttp://m.shnenglu.com/smallfa/archive/2008/12/08/68833.htmlhttp://m.shnenglu.com/smallfa/comments/68833.htmlhttp://m.shnenglu.com/smallfa/archive/2008/12/08/68833.html#Feedback0http://m.shnenglu.com/smallfa/comments/commentRss/68833.htmlhttp://m.shnenglu.com/smallfa/services/trackbacks/68833.html鏍囧噯鍚嶇┖闂?Namespace std)


 

鎴戜滑鑳藉鎵懼埌鐨勫叧浜庡悕絀洪棿鐨勬渶濂界殑渚嬪瓙灝辨槸鏍囧噯C++ 鍑芥暟搴撴湰韜?br>
濡侫NSI C++ 鏍囧噯瀹氫箟錛?br>鏍囧噯C++搴撲腑鐨勬墍鏈夌被銆佸璞″拰鍑芥暟閮芥槸瀹氫箟鍦ㄥ悕絀洪棿std涓嬮潰鐨勩?br>

浣犲彲鑳藉凡緇忔敞鎰忓埌錛屾垜浠湪榪欎釜鏁欑▼涓叏閮ㄥ拷鐣ヤ簡榪欎竴鐐廣備綔鑰呭喅瀹氳繖涔堝仛鏄洜涓鴻繖鏉¤鍒欏嚑涔庡拰ANSI 鏍囧噯鏈韓涓鏍峰勾杞?(1997) 錛岃澶氳佷竴鐐圭殑緙栬瘧鍣ㄥ茍涓嶅吋瀹硅繖鏉¤鍒欍?br>

鍑犱箮鎵鏈夌殑緙栬瘧鍣紝鍗充嬌鏄偅浜涗笌ANSI 鏍囧噯鍏煎鐨勭紪璇戝櫒錛岄兘鍏佽浣跨敤浼犵粺鐨勫ご鏂囦歡 (濡俰ostream.h, stdlib.h, 絳夌瓑)錛屽氨鍍忔垜浠湪榪欎釜鏁欑▼涓墍浣跨敤鐨勪竴鏍楓?br>

鐒惰岋紝ANSI鏍囧噯瀹屽叏閲嶆柊璁捐浜嗚繖浜涘嚱鏁板簱錛?br>鍒╃敤浜嗘ā鏉垮姛鑳斤紝
鑰屼笖閬靛驚浜嗚繖鏉¤鍒欏皢鎵鏈夌殑鍑芥暟鍜屽彉閲忓畾涔夊湪浜嗗悕絀洪棿std涓嬨?br>

璇ユ爣鍑嗕負(fù)榪欎簺澶存枃浠跺畾涔変簡鏂扮殑鍚嶅瓧錛屽閽堝C++鐨勬枃浠跺熀鏈笂鏄嬌鐢ㄥ悓鏍風(fēng)殑鍚嶅瓧錛屼絾娌℃湁.h鐨勬墿灞曞悕錛?br>
渚嬪, iostream.h 鍙樻垚浜唅ostream銆?/p>

濡傛灉鎴戜滑浣跨敤ANSI-C++ 鍏煎鐨勫寘鍚枃浠訛紝鎴戜滑蹇呴』璁頒綇鎵鏈夌殑鍑芥暟銆佺被鍜屽璞℃槸瀹氫箟鍦ㄥ悕絀洪棿 std 涓嬮潰鐨勶紝渚嬪錛?/p>

    // ANSI-C++ compliant hello world
            #include <iostream>
            int main () {
            std::cout << "Hello world in ANSI-C++\n";
return 0;
}
Hello world in ANSI-C++

鏇村父鐢ㄧ殑鏂規(guī)硶鏄嬌鐢╱sing namespace 錛岃繖鏍鋒垜浠氨涓嶅繀鍦ㄦ墍鏈夋爣鍑嗙┖闂翠腑瀹氫箟鐨勫嚱鏁版垨瀵硅薄鍓嶉潰鎬繪槸浣跨敤鑼冨洿鎿嶄綔絎?:浜?錛?/p>

    // ANSI-C++ compliant hello world (II)
            #include <iostream>
            using namespace std;
            int main () {
            cout << "Hello world in ANSI-C++\n";
            return 0;
            }
            
Hello world in ANSI-C++

瀵逛簬STL 鐢ㄦ埛錛屽己鐑堝緩璁嬌鐢ˋNSI-compliant 鏂瑰紡鏉ュ寘鍚爣鍑嗗嚱鏁板簱銆?



henry08 2008-12-08 12:33 鍙戣〃璇勮
]]>
妯℃澘涓庡鏂囦歡宸ョ▼http://m.shnenglu.com/smallfa/archive/2008/12/08/68830.htmlhenry08henry08Mon, 08 Dec 2008 04:03:00 GMThttp://m.shnenglu.com/smallfa/archive/2008/12/08/68830.htmlhttp://m.shnenglu.com/smallfa/comments/68830.htmlhttp://m.shnenglu.com/smallfa/archive/2008/12/08/68830.html#Feedback0http://m.shnenglu.com/smallfa/comments/commentRss/68830.htmlhttp://m.shnenglu.com/smallfa/services/trackbacks/68830.html

template <class T> // 鏈甯哥敤鐨勶細(xì)涓涓猚lass 鍙傛暟銆?/font>

template <class T, class U> // 涓や釜class 鍙傛暟銆?/font>

template <class T, int N> // 涓涓猚lass 鍜屼竴涓暣鏁般?/font>

template <class T = char> // 鏈変竴涓粯璁ゅ箋?/font>

template <int Tfunc (int)> // 鍙傛暟涓轟竴涓嚱鏁般?/font>

浠庣紪璇戝櫒鐨勮搴︽潵鐪嬶紝妯℃澘涓嶅悓浜庝竴鑸殑鍑芥暟鎴栫被銆?br>瀹冧滑鍦ㄩ渶瑕佹椂鎵嶈緙栬瘧(compiled on demand)錛?br>涔熷氨鏄涓涓ā鏉跨殑浠g爜鐩村埌闇瑕佺敓鎴愪竴涓璞$殑鏃跺?instantiation)鎵嶈緙栬瘧銆?br>褰撻渶瑕乮nstantiation鐨勬椂鍊欙紝緙栬瘧鍣ㄦ牴鎹ā鏉夸負(fù)鐗瑰畾鐨勮皟鐢ㄦ暟鎹被鍨嬬敓鎴愪竴涓壒孌婄殑鍑芥暟銆?br>

褰撳伐紼嬪彉寰楄秺鏉ヨ秺澶х殑鏃跺欙紝紼嬪簭浠g爜閫氬父浼?xì)琚垎鍓蹭负澶氫釜婧惤E嬪簭鏂囦歡銆?br>鍦ㄨ繖縐嶆儏鍐典笅錛?span style="COLOR: red">閫氬父鎺ュ彛(interface)鍜屽疄鐜?implementation)鏄垎寮鐨?/span>銆?br>

鐢ㄤ竴涓嚱鏁板簱鍋氫緥瀛?br>     鎺ュ彛閫氬父鍖呮嫭鎵鏈夎兘琚皟鐢ㄧ殑鍑芥暟鐨勫師鍨嬪畾涔夈?br>                                    瀹冧滑閫氬父琚畾涔夊湪浠?h 涓烘墿灞曞悕鐨勫ご鏂囦歡 (header file) 涓紱
      鑰屽疄鐜?(鍑芥暟鐨勫畾涔? 
                                    鍒欏湪鐙珛鐨凜++浠g爜鏂囦歡涓?br>

妯℃澘榪欑綾諱技瀹?macro-like) 鐨勫姛鑳斤紝瀵瑰鏂囦歡宸ョ▼鏈変竴瀹氱殑闄愬埗錛?/span>
鍑芥暟鎴栫被妯℃澘鐨勫疄鐜?(瀹氫箟) 蹇呴』涓庡師鍨嬪0鏄庡湪鍚屼竴涓枃浠朵腑銆?br>涔熷氨鏄鎴戜滑涓嶈兘鍐?灝嗘帴鍙?interface)瀛樺偍鍦ㄥ崟鐙殑澶存枃浠朵腑錛?br>鑰屽繀欏誨皢鎺ュ彛鍜屽疄鐜版斁鍦ㄤ嬌鐢ㄦā鏉跨殑鍚屼竴涓枃浠朵腑銆?/p>

鍥炲埌鍑芥暟搴撶殑渚嬪瓙錛屽鏋滄垜浠兂瑕佸緩绔嬩竴涓嚱鏁版ā鏉跨殑搴擄紝鎴戜滑涓嶈兘鍐嶄嬌鐢ㄥご鏂囦歡(.h) 錛屽彇鑰屼唬涔嬶紝鎴戜滑搴旇鐢熸垚涓涓ā鏉挎枃浠?template file)錛屽皢鍑芥暟妯℃澘鐨勬帴鍙e拰瀹炵幇 閮芥斁鍦ㄨ繖涓枃浠朵腑 (榪欑鏂囦歡娌℃湁鎯敤鎵╁睍鍚嶏紝闄や簡涓嶈浣跨敤.h鎵╁睍鍚嶆垨涓嶈涓嶅姞浠諱綍鎵╁睍鍚?銆?br>

鍦ㄤ竴涓伐紼嬩腑澶氭鍖呭惈鍚屾椂鍏鋒湁澹版槑鍜屽疄鐜扮殑妯℃澘鏂囦歡騫朵笉浼?xì)漶旂敓閾炬帴閿欒?(linkage errors)錛屽洜涓哄畠浠彧鏈夊湪闇瑕佹椂鎵嶈緙栬瘧錛岃屽吋瀹規(guī)ā鏉跨殑緙栬瘧鍣ㄥ簲璇ュ凡緇忚冭檻鍒拌繖縐嶆儏鍐碉紝涓嶄細(xì)鐢熸垚閲嶅鐨勪唬鐮併?/span>



henry08 2008-12-08 12:03 鍙戣〃璇勮
]]>
闈欐佹垚鍛?Static members)http://m.shnenglu.com/smallfa/archive/2008/12/04/68578.htmlhenry08henry08Thu, 04 Dec 2008 10:34:00 GMThttp://m.shnenglu.com/smallfa/archive/2008/12/04/68578.htmlhttp://m.shnenglu.com/smallfa/comments/68578.htmlhttp://m.shnenglu.com/smallfa/archive/2008/12/04/68578.html#Feedback0http://m.shnenglu.com/smallfa/comments/commentRss/68578.htmlhttp://m.shnenglu.com/smallfa/services/trackbacks/68578.html



C++ 鏍囧噯錛屼負(fù)浜嗛伩鍏嶅畠浠澶氭閲嶅澹版槑錛?br>鍦╟lass鐨勫0鏄庝腑鍙兘澶熷寘鎷瑂tatic member鐨勫師鍨?澹版槑)錛?br>鑰屼笉鑳藉鍖呮嫭鍏跺畾涔?鍒濆鍖栨搷浣?銆?br>涓轟簡鍒濆鍖栦竴涓潤鎬佹暟鎹垚鍛橈紝
鎴戜滑蹇呴』鍦╟lass涔嬪(鍦ㄥ叏鍩熻寖鍥村唴)錛?br>鍖呮嫭涓涓寮忕殑瀹氫箟錛屽氨鍍忎笂闈緥瀛愪腑鍋氭硶涓鏍楓?/span>




鍦ㄦ彁閱掍竴嬈★紝瀹冨叾瀹炴槸涓涓叏鍩熷彉閲忋傚敮涓鐨勪笉鍚屾槸瀹冪殑鍚嶅瓧璺熷湪class鐨勫悗闈€?/p>

灝卞儚鎴戜滑浼?xì)鍦╟lass涓寘鍚玸tatic鏁版嵁涓鏍鳳紝鎴戜滑涔熷彲浠ヤ嬌瀹冨寘鍚玸tatic 鍑芥暟銆?br>瀹冧滑琛ㄧず鐩稿悓鐨勫惈涔夛細(xì)static鍑芥暟鏄叏鍩熷嚱鏁?global functions)錛屼絾鏄儚涓涓寚瀹歝lass鐨勫璞℃垚鍛樹竴鏍瘋璋冪敤銆?br>瀹冧滑鍙兘澶熷紩鐢╯tatic 鏁版嵁錛屾案榪滀笉鑳藉紩鐢╟lass鐨勯潪闈欐?nonstatic)鎴愬憳銆?br>瀹冧滑涔熶笉鑳藉浣跨敤鍏抽敭瀛梩his錛屽洜涓簍his瀹為檯寮曠敤浜嗕竴涓璞℃寚閽堬紝
浣嗚繖浜?static鍑芥暟鍗翠笉鏄換浣昽bject鐨勬垚鍛橈紝鑰屾槸class鐨勭洿鎺ユ垚鍛樸?/p>

henry08 2008-12-04 18:34 鍙戣〃璇勮
]]>
瀹氫箟涓涓猚lass鑰屾病鏈夋槑紜畾涔夋瀯閫犲嚱鏁扮殑鏃跺欙紝緙栬瘧鍣ㄤ細(xì)鑷姩鍋囪涓や釜閲嶈澆鐨勬瀯閫犲嚱鏁?/title><link>http://m.shnenglu.com/smallfa/archive/2008/12/04/68576.html</link><dc:creator>henry08</dc:creator><author>henry08</author><pubDate>Thu, 04 Dec 2008 10:04:00 GMT</pubDate><guid>http://m.shnenglu.com/smallfa/archive/2008/12/04/68576.html</guid><wfw:comment>http://m.shnenglu.com/smallfa/comments/68576.html</wfw:comment><comments>http://m.shnenglu.com/smallfa/archive/2008/12/04/68576.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://m.shnenglu.com/smallfa/comments/commentRss/68576.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/smallfa/services/trackbacks/68576.html</trackback:ping><description><![CDATA[<p>瀹為檯涓婏紝褰撴垜浠畾涔変竴涓猚lass鑰屾病鏈夋槑紜畾涔夋瀯閫犲嚱鏁扮殑鏃跺欙紝<br><br><br>緙栬瘧鍣ㄤ細(xì)鑷姩鍋囪涓や釜閲嶈澆鐨勬瀯閫犲嚱鏁?br> (榛樿鏋勯犲嚱鏁?default constructor" 鍜屽鍒舵瀯閫犲嚱鏁?copy constructor")銆?br><br><br>渚嬪錛屽浠ヤ笅class錛?/p> <code> <pre> class CExample {<br> public:<br> int a,b,c;<br> void multiply (int n, int m) { a=n; b=m; c=a*b; };<br> };<br> </pre> <p>娌℃湁瀹氫箟鏋勯犲嚱鏁幫紝<br><br><br>緙栬瘧鍣ㄨ嚜鍔ㄥ亣璁懼畠鏈変互涓媍onstructor 鎴愬憳鍑芥暟錛?/p> <ul> <li><span style="COLOR: red">Empty constructor</span> <p>瀹冩槸涓涓病鏈変換浣曞弬鏁扮殑鏋勯犲嚱鏁幫紝琚畾涔変負(fù)nop (娌℃湁璇彞)銆傚畠浠涔堥兘涓嶅仛銆?/p> <code>CExample::CExample () { };</code> <li> <li><span style="COLOR: red">Copy constructor</span> <p style="COLOR: #0000ff">瀹冩槸涓涓彧鏈変竴涓弬鏁扮殑鏋勯犲嚱鏁幫紝璇ュ弬鏁版槸榪欎釜class鐨勪竴涓璞★紝榪欎釜鍑芥暟鐨勫姛鑳芥槸灝嗚浼犲叆鐨勫璞★紙object錛夌殑鎵鏈夐潪闈欐侊紙non-static錛夋垚鍛樺彉閲忕殑鍊奸兘澶嶅埗緇欒嚜韜繖涓猳bject銆?/p> <code> <pre> CExample::CExample (const CExample& rv) {<br> a=rv.a; b=rv.b; c=rv.c;<br> }<br> </pre> </li> </ul> <p><strong class=important>蹇呴』娉ㄦ剰錛?/strong>榪欎袱涓粯璁ゆ瀯閫犲嚱鏁幫紙empty construction 鍜?copy constructor 錛?/p> <p>鍙湁鍦ㄦ病鏈夊叾瀹冩瀯閫犲嚱鏁拌鏄庣‘瀹氫箟鐨勬儏鍐典笅鎵嶅瓨鍦ㄣ?/p> <p>濡傛灉浠諱綍鍏跺畠鏈変換鎰忓弬鏁扮殑鏋勯犲嚱鏁拌瀹氫箟浜嗭紝榪欎袱涓瀯閫犲嚱鏁板氨閮戒笉瀛樺湪浜嗐?/p> <p>鍦ㄨ繖縐嶆儏鍐典笅錛?/p> <p>濡傛灉浣犳兂瑕佹湁empty construction 鍜?copy constructor 錛?/p> <p>灝卞繀闇瑕佽嚜宸卞畾涔夊畠浠?/p> </code></code> <img src ="http://m.shnenglu.com/smallfa/aggbug/68576.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/smallfa/" target="_blank">henry08</a> 2008-12-04 18:04 <a href="http://m.shnenglu.com/smallfa/archive/2008/12/04/68576.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C鍦╯truct閲岄潰鍙互鐢╬ublic銆乸rivate錛岄粯璁ょ殑鏄痯ublic錛岃孋++榛樿鏄痯rivate銆?/title><link>http://m.shnenglu.com/smallfa/archive/2008/12/04/68575.html</link><dc:creator>henry08</dc:creator><author>henry08</author><pubDate>Thu, 04 Dec 2008 10:01:00 GMT</pubDate><guid>http://m.shnenglu.com/smallfa/archive/2008/12/04/68575.html</guid><wfw:comment>http://m.shnenglu.com/smallfa/comments/68575.html</wfw:comment><comments>http://m.shnenglu.com/smallfa/archive/2008/12/04/68575.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/smallfa/comments/commentRss/68575.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/smallfa/services/trackbacks/68575.html</trackback:ping><description><![CDATA[C鍦╯truct閲岄潰鍙互鐢╬ublic銆乸rivate錛岄粯璁ょ殑鏄痯ublic錛岃孋++榛樿鏄痯rivate銆?br><br>C鍦╯truct閲岄潰鍙互鐢╬ublic銆乸rivate錛岄粯璁ょ殑鏄痯ublic錛岃孋++榛樿鏄痯rivate銆? <img src ="http://m.shnenglu.com/smallfa/aggbug/68575.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/smallfa/" target="_blank">henry08</a> 2008-12-04 18:01 <a href="http://m.shnenglu.com/smallfa/archive/2008/12/04/68575.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>綆楁硶http://m.shnenglu.com/smallfa/archive/2008/11/27/67995.htmlhenry08henry08Thu, 27 Nov 2008 08:31:00 GMThttp://m.shnenglu.com/smallfa/archive/2008/11/27/67995.htmlhttp://m.shnenglu.com/smallfa/comments/67995.htmlhttp://m.shnenglu.com/smallfa/archive/2008/11/27/67995.html#Feedback0http://m.shnenglu.com/smallfa/comments/commentRss/67995.htmlhttp://m.shnenglu.com/smallfa/services/trackbacks/67995.html{
    long a1 = 34, a2 = 23, a3 = 12;
    if( a1 > a2 )
    {
        long temp = a1;
        a1 = a2;
        a2 = temp;
    }
    if( a1 > a3 )
    {
        long temp = a1;
        a1 = a3;
        a3 = temp;
    }
    if( a2 > a3 )
    {
        long temp = a2;
        a2 = a3;
        a3 = temp;
    }
}
涓婇潰灝卞湪姣忎釜if鍚庨潰鐨勫鍚堣鍙ヤ腑瀹氫箟浜嗕竴涓復(fù)鏃跺彉閲弔emp浠ュ熷姪緙栬瘧鍣ㄧ殑闈欐佸垎閰嶅唴瀛樺姛鑳芥潵鎻愪緵涓存椂瀛樻斁鍗$墖鐨勫唴瀛樸備笂闈㈢殑鍏冪礌浜ゆ崲騫舵病鏈夋寜鐓у墠闈㈡墍璇存槧灝勬垚鍑芥暟錛屾槸鍥犱負(fù)鍦ㄨ繖閲屽叾鍙湁涓夋潯璇彞涓斿鏄撶悊瑙c傚鏋滆灝嗕氦鎹㈡搷浣滃畾涔変負(fù)涓鍑芥暟
濡傛灉瑕佸皢浜ゆ崲鎿嶄綔瀹氫箟涓轟竴鍑芥暟錛屽垯搴斿涓嬶細(xì)
void Swap( long *p1, long *p2 )             void Swap( long &r1, long &r2 )
{                                           {
    long temp = *p1;                            long temp = r1;
    *p1 = *p2;                                  r1 = r2;
    *p2 = temp;                                 r2 = temp;
}                                           }
void main()                                 void main()
{                                           {
    long a1 = 34, a2 = 23, a3 = 12;             long a1 = 34, a2 = 23, a3 = 12;
    if( a1 > a2 )                               if( a1 > a2 )
        Swap( &a1, &a2 );                           Swap( a1, a2 );
    if( a1 > a3 )                               if( a1 > a3 )
        Swap( &a1, &a3 );                           Swap( a1, a3 );
    if( a2 > a3 )                               if( a2 > a3 )
        Swap( &a2, &a3 );                           Swap( a2, a3 );
}                                           }
    鍏堢湅宸︿晶鐨勭▼搴忋備笂闈㈠畾涔変簡鍑芥暟鏉ヨ〃紺虹粰瀹氱洅瀛愪箣闂寸殑浜ゆ崲鎿嶄綔錛屾敞鎰忓弬鏁扮被鍨嬩嬌鐢ㄤ簡long*錛岃繖閲屾寚閽堣〃紺哄紩鐢紙搴旀敞鎰忔寚閽堜笉浠呭彲浠ヨ〃紺哄紩鐢紝榪樺彲鏈夊叾瀹冪殑璇箟錛屼互鍚庝細(xì)鎻愬埌錛夈?br>


涓嬮潰鐪嬪彸渚х殑紼嬪簭銆傚弬鏁扮被鍨嬪彉鎴恖ong&錛屽拰鎸囬拡涓鏍鳳紝渚濇棫琛ㄧず寮曠敤錛屼絾娉ㄦ剰瀹冧滑鐨勪笉鍚屻傚悗鑰呰〃紺哄畠鏄竴涓埆鍚嶏紝鍗沖畠鏄竴涓槧灝勶紝鏄犲皠鐨勫湴鍧鏄褰曚綔涓哄弬鏁扮殑鏁板瓧鐨勫湴鍧錛屼篃灝辨槸璇村畠瑕佹眰璋冪敤姝ゅ嚱鏁版椂錛岀粰鍑虹殑浣滀負(fù)鍙傛暟鐨勬暟瀛椾竴瀹氭槸鏈夊湴鍧鐨勬暟瀛?br>

henry08 2008-11-27 16:31 鍙戣〃璇勮
]]>
鍑芥暟http://m.shnenglu.com/smallfa/archive/2008/11/26/67941.htmlhenry08henry08Wed, 26 Nov 2008 15:46:00 GMThttp://m.shnenglu.com/smallfa/archive/2008/11/26/67941.htmlhttp://m.shnenglu.com/smallfa/comments/67941.htmlhttp://m.shnenglu.com/smallfa/archive/2008/11/26/67941.html#Feedback0http://m.shnenglu.com/smallfa/comments/commentRss/67941.htmlhttp://m.shnenglu.com/smallfa/services/trackbacks/67941.html涓婇潰鐨勮繑鍥炵被鍨嬩負(fù)void錛屽墠闈㈡彁榪囷紝void鏄疌++鎻愪緵鐨勪竴縐嶇壒孌婃暟瀛楃被鍨嬶紝鍏朵粎浠呭彧鏄負(fù)浜嗕繚闅滆娉曠殑涓ュ瘑鎬ц屽凡錛屽嵆浠諱綍鍑芥暟鎵ц鍚庨兘瑕佽繑鍥炰竴涓暟瀛楋紙鍚庨潰灝嗚鏄庯級(jí)錛岃屽浜庝笉鐢ㄨ繑鍥炴暟瀛楃殑鍑芥暟錛屽垯鍙互瀹氫箟榪斿洖綾誨瀷涓簐oid錛岃繖鏍峰氨鍙互淇濊瘉璇硶鐨勪弗瀵嗘с?/p>

鍙互璁や負(fù)鍑芥暟綾誨瀷鐨勫湴鍧綾誨瀷鐨勬暟瀛楃紪璇戝櫒浼?xì)闅愬紡铦{鎹㈡垚鎸囬拡綾誨瀷鐨勬暟瀛?/p>


閲嶈澆鍑芥暟琛ㄧず鍑芥暟鍚嶅瓧涓鏍鳳紝浣嗗弬鏁扮被鍨嬪強(qiáng)涓暟涓嶅悓鐨勫涓嚱鏁?/p>

 澹版槑鏄憡璇夌紪璇戝櫒涓浜涗俊鎭紝浠ュ崗鍔╃紪璇戝櫒榪涜璇硶鍒嗘瀽錛岄伩鍏嶇紪璇戝櫒鎶ラ敊銆傝屽畾涔夋槸鍛婅瘔緙栬瘧鍣ㄧ敓鎴愪竴浜涗唬鐮侊紝騫朵笖榪欎簺浠g爜灝嗙敱榪炴帴鍣ㄤ嬌鐢ㄣ?/p>

extern long a, *pA, &ra;
    涓婇潰灝卞0鏄庯紙涓嶆槸瀹氫箟錛変簡涓変釜鍙橀噺a銆乸A鍜宺a銆?br>鍥犱負(fù)extern琛ㄧず澶栭儴鐨勬剰鎬濓紝鍥犳涓婇潰灝辮璁や負(fù)鏄憡璇夌紪璇戝櫒鏈変笁涓閮ㄧ殑鍙橀噺錛屼負(fù)a銆乸A鍜宺a錛屾晠琚涓烘槸澹版槑璇彞錛屾墍浠ヤ笂闈㈠皢涓嶅垎閰嶄換浣曞唴瀛樸?br>鍚屾牱錛屽浜庡嚱鏁幫紝瀹冧篃鏄竴鏍風(fēng)殑錛?br>    extern void ABC( long );  鎴?nbsp; extern long AB( short b );



henry08 2008-11-26 23:46 鍙戣〃璇勮
]]>
綾誨瀷淇グ絎︼紙type-specifier錛?/title><link>http://m.shnenglu.com/smallfa/archive/2008/11/26/67913.html</link><dc:creator>henry08</dc:creator><author>henry08</author><pubDate>Wed, 26 Nov 2008 07:52:00 GMT</pubDate><guid>http://m.shnenglu.com/smallfa/archive/2008/11/26/67913.html</guid><wfw:comment>http://m.shnenglu.com/smallfa/comments/67913.html</wfw:comment><comments>http://m.shnenglu.com/smallfa/archive/2008/11/26/67913.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/smallfa/comments/commentRss/67913.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/smallfa/services/trackbacks/67913.html</trackback:ping><description><![CDATA[鏁扮粍鍜屾寚閽堥兘鏄被鍨嬩慨楗扮錛屼箣鍓嶆彁榪囩殑寮曠敤鍙橀噺鐨?#8220;&”涔熸槸綾誨瀷淇グ絎?br><br><strong>鎸囬拡淇グ絎?#8220;*”</strong>鈥斺斿叾鎬繪槸鎺ュ湪鍙橀噺鍚嶇殑鍓嶉潰錛岃〃紺哄綋鍓嶇被鍨嬩負(fù)鍘熺被鍨嬬殑鎸囬拡銆傛晠錛?br>short a = 10, *pA = &a, **ppA = &pA;<br><br><strong> 寮曠敤淇グ絎?#8220;&”</strong>鈥斺斿叾鎬繪槸鎺ュ湪鍙橀噺鍚嶇殑鍓嶉潰錛岃〃紺烘鍙橀噺涓嶇敤鍒嗛厤鍐呭瓨浠ュ拰鍏剁粦瀹氾紝鑰屽湪璇存槑綾誨瀷鏃訛紝鍒欎笉鑳芥湁瀹冿紝涓嬮潰璇存槑銆傜敱浜庤〃紺虹浉搴斿彉閲忎笉鐢ㄥ垎閰嶅唴瀛樹互鐢熸垚鏄犲皠錛屾晠鍏朵笉鍍忎笂榪頒袱縐嶇被鍨嬩慨楗扮錛屽彲浠ュ嬈¢噸澶嶄功鍐欙紝鍥犱負(fù)娌℃湁鎰忎箟<br> <img src ="http://m.shnenglu.com/smallfa/aggbug/67913.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/smallfa/" target="_blank">henry08</a> 2008-11-26 15:52 <a href="http://m.shnenglu.com/smallfa/archive/2008/11/26/67913.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍦ㄥ爢涓婂垎閰嶅唴瀛?/title><link>http://m.shnenglu.com/smallfa/archive/2008/11/26/67911.html</link><dc:creator>henry08</dc:creator><author>henry08</author><pubDate>Wed, 26 Nov 2008 07:40:00 GMT</pubDate><guid>http://m.shnenglu.com/smallfa/archive/2008/11/26/67911.html</guid><wfw:comment>http://m.shnenglu.com/smallfa/comments/67911.html</wfw:comment><comments>http://m.shnenglu.com/smallfa/archive/2008/11/26/67911.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/smallfa/comments/commentRss/67911.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/smallfa/services/trackbacks/67911.html</trackback:ping><description><![CDATA[unsigned long *pA = new unsigned long; *pA = 10;<br>unsigned long *pB = new unsigned long[ *pA ];<br><br>涓婇潰灝辯敵璇蜂簡涓ゅ潡鍐呭瓨錛宲A鎵鎸囩殑鍐呭瓨錛堝嵆pA鐨勫兼墍瀵瑰簲鐨勫唴瀛橈級(jí)鏄?瀛楄妭澶у皬錛岃宲B鎵鎸囩殑鍐呭瓨鏄?*10=40瀛楄妭澶у皬銆傚簲璇ユ敞鎰忥紝鐢變簬new鏄竴涓搷浣滅錛屽叾緇撴瀯涓簄ew <綾誨瀷鍚?gt;[<鏁村瀷鏁板瓧>]銆傚畠榪斿洖鎸囬拡綾誨瀷鐨勬暟瀛楋紝鍏朵腑鐨?lt;綾誨瀷鍚?gt;鎸囨槑浜嗕粈涔堟牱鐨勬寚閽堢被鍨嬶紝鑰屽悗闈㈡柟鎷彿鐨勪綔鐢ㄥ拰瀹氫箟鏁扮粍鏃朵竴鏍鳳紝鐢ㄤ簬鎸囨槑鍏冪礌鐨勪釜鏁幫紝浣嗗叾榪斿洖鐨勫茍涓嶆槸鏁扮粍綾誨瀷錛岃屾槸鎸囬拡綾誨瀷銆?br><br><br><br>delete pA; delete[] pB;<br><br>    娉ㄦ剰delete鎿嶄綔絎﹀茍涓嶈繑鍥炰換浣曟暟瀛楋紝浣嗘槸鍏朵粛琚О浣滄搷浣滅錛岀湅璧鋒潵瀹冨簲璇ヨ鍙仛璇彞鏇村姞鍚堥傦紝浣嗕負(fù)浜嗘弧瓚沖叾渚濇棫鏄搷浣滅鐨勭壒鎬э紝C++鎻愪緵浜嗕竴縐嶅緢鐗規(guī)畩鐨勬暟瀛楃被鍨嬧斺攙oid銆傚叾琛ㄧず鏃狅紝鍗充粈涔堥兘涓嶆槸錛岃繖鍦ㄣ奀++浠庨浂寮濮嬶紙涓冿級(jí)銆嬩腑灝嗚緇嗚鏄庛傚洜姝elete鍏跺疄鏄榪斿洖鏁板瓧鐨勶紝鍙笉榪囪繑鍥炵殑鏁板瓧綾誨瀷涓簐oid緗簡銆?br><br>    娉ㄦ剰涓婇潰瀵筽A鍜宲B鐨勯噴鏀句笉鍚岋紝鍥犱負(fù)pA鎸夌収鏈寮濮嬬殑涔﹀啓錛屾槸new unsigned long榪斿洖鐨勶紝鑰宲B鏄痭ew unsigned long[ *pA ]榪斿洖鐨勩傛墍浠ラ渶瑕佸湪閲婃斁pB鏃跺湪delete鐨勫悗闈㈠姞涓?#8220;[]”浠ヨ〃紺洪噴鏀劇殑鏄暟緇勶紝涓嶈繃鍦╒C涓紝涓嶇鍓嶈呰繕鏄悗鑰咃紝閮借兘姝g‘閲婃斁鍐呭瓨錛屾棤闇“[]”鐨勪粙鍏ヤ互甯姪緙栬瘧鍣ㄦ潵姝g‘閲婃斁鍐呭瓨錛屽洜涓轟互Windows涓哄鉤鍙拌屽紑鍙戠▼搴忕殑VC鏄寜鐓indows鎿嶄綔緋葷粺鐨勬柟寮忔潵榪涜鍐呭瓨鍒嗛厤鐨勶紝鑰學(xué)indows鎿嶄綔緋葷粺鍦ㄩ噴鏀懼唴瀛樻椂錛屾棤闇鐭ラ亾嬈查噴鏀劇殑鍐呭瓨鍧楃殑闀垮害錛屽洜涓哄叾宸茬粡鍦ㄥ唴閮ㄨ褰曚笅鏉ワ紙榪欑璇存硶騫朵笉鍑嗙‘錛屽疄闄呭簲鏄疌榪愯鏃舵湡搴撳共浜嗚繖浜涗簨錛屼絾鍏跺張鏄緷璧栦簬鎿嶄綔緋葷粺鏉ュ共鐨勶紝鍗沖叾瀹炴槸鏈変袱灞傚鍐呭瓨綆$悊鐨勫寘瑁咃紝鍦ㄦ涓嶈〃錛夈?br> <img src ="http://m.shnenglu.com/smallfa/aggbug/67911.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/smallfa/" target="_blank">henry08</a> 2008-11-26 15:40 <a href="http://m.shnenglu.com/smallfa/archive/2008/11/26/67911.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎸囬拡http://m.shnenglu.com/smallfa/archive/2008/11/26/67909.htmlhenry08henry08Wed, 26 Nov 2008 07:39:00 GMThttp://m.shnenglu.com/smallfa/archive/2008/11/26/67909.htmlhttp://m.shnenglu.com/smallfa/comments/67909.htmlhttp://m.shnenglu.com/smallfa/archive/2008/11/26/67909.html#Feedback0http://m.shnenglu.com/smallfa/comments/commentRss/67909.htmlhttp://m.shnenglu.com/smallfa/services/trackbacks/67909.html鍐嶆潵鐪嬪彇鍐呭鎿嶄綔絎?#8220;*”錛屽叾鍙蟲帴鐨勬暟瀛楃被鍨嬫槸鎸囬拡綾誨瀷鎴栨暟緇勭被鍨嬶紝瀹冪殑璁$畻灝辨槸灝嗘鎸囬拡綾誨瀷鐨勬暟瀛楃洿鎺ヨ漿鎹㈡垚鍦板潃綾誨瀷鐨勬暟瀛?br>鍥犱負(fù)鎸囬拡綾誨瀷鐨勬暟瀛楀拰鍦板潃綾誨瀷鐨勬暟瀛楀湪鏁板間笂鏄浉鍚岀殑錛屼粎浠呰綆楄鍒欎笉鍚?/p>


鍦板潃綾誨瀷鐨勬暟瀛楁槸鍦ㄧ紪璇戞椂鏈熺粰緙栬瘧鍣ㄧ敤鐨?br>鎸囬拡綾誨瀷鐨勬暟瀛楁槸鍦ㄨ繍琛屾椂鏈熺粰浠g爜鐢ㄧ殑



henry08 2008-11-26 15:39 鍙戣〃璇勮
]]>
鐢寵鍐呭瓨 闈欐佸垎閰嶅姩鎬佸垎閰?/title><link>http://m.shnenglu.com/smallfa/archive/2008/11/26/67908.html</link><dc:creator>henry08</dc:creator><author>henry08</author><pubDate>Wed, 26 Nov 2008 07:38:00 GMT</pubDate><guid>http://m.shnenglu.com/smallfa/archive/2008/11/26/67908.html</guid><wfw:comment>http://m.shnenglu.com/smallfa/comments/67908.html</wfw:comment><comments>http://m.shnenglu.com/smallfa/archive/2008/11/26/67908.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/smallfa/comments/commentRss/67908.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/smallfa/services/trackbacks/67908.html</trackback:ping><description><![CDATA[<p>鍦ㄧ敵璇峰唴瀛樻椂鎬繪槸鐢寵鍥哄畾澶у皬鐨勫唴瀛橈紝鍒欑О姝ゅ唴瀛樻槸闈欐佸垎閰嶇殑銆傚墠闈㈡彁鍑虹殑瀹氫箟鍙橀噺鏃訛紝緙栬瘧鍣ㄥ府鎴戜滑浠庢爤涓婂垎閰嶇殑鍐呭瓨灝卞睘浜庨潤鎬佸垎閰?/p> <p><br>鏍規(guī)嵁鐢ㄦ埛杈撳叆鐨勪笉鍚岃屽彲鑳界敵璇蜂笉鍚屽ぇ灝忕殑鍐呭瓨鏃訛紝鍒欑О姝ゅ唴瀛樻槸鍔ㄦ佸垎閰嶇殑錛屽悗闈㈣鐨勪粠鍫嗕笂鍒嗛厤灝卞睘浜庡姩鎬佸垎閰嶃?/p> <p><br>鍚屾牱錛岄潤鎬佸垎閰嶇殑鍐呭瓨鍒╃敤鐜囦笉楂樻垨榪愮敤涓嶅鐏墊椿錛屼絾浠g爜瀹規(guī)槗緙栧啓涓旇繍琛岄熷害杈冨揩錛涘姩鎬佸垎閰嶇殑鍐呭瓨鍒╃敤鐜囬珮錛屼笉榪囩紪鍐欎唬鐮佹椂瑕佸鏉備簺錛岄渶鑷繁澶勭悊鍐呭瓨鐨勭鐞嗭紙鍒嗛厤鍜岄噴鏀撅級(jí)涓旂敱浜庤繖縐嶇鐞嗙殑浠嬪叆鑰岃繍琛岄熷害杈冩參騫朵唬鐮侀暱搴﹀鍔犮?br>闈欐佸拰鍔ㄦ佺殑鎰忎箟涓嶄粎浠呭姝わ紝鍏舵湁寰堝鐨勬繁鍖栵紝濡傜‖緙栫爜鍜岃蔣緙栫爜銆佺揣鑰﹀悎鍜屾澗鑰﹀悎錛岄兘鏄潤鎬佸拰鍔ㄦ佺殑娣卞寲銆?br></p> <img src ="http://m.shnenglu.com/smallfa/aggbug/67908.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/smallfa/" target="_blank">henry08</a> 2008-11-26 15:38 <a href="http://m.shnenglu.com/smallfa/archive/2008/11/26/67908.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瀛楃涓?http://m.shnenglu.com/smallfa/archive/2008/11/26/67907.htmlhenry08henry08Wed, 26 Nov 2008 07:37:00 GMThttp://m.shnenglu.com/smallfa/archive/2008/11/26/67907.htmlhttp://m.shnenglu.com/smallfa/comments/67907.htmlhttp://m.shnenglu.com/smallfa/archive/2008/11/26/67907.html#Feedback0http://m.shnenglu.com/smallfa/comments/commentRss/67907.htmlhttp://m.shnenglu.com/smallfa/services/trackbacks/67907.html char綾誨瀷榪涜琛ㄧず鐨勫瓧絎︿覆縐頒負(fù)鍗曞瓧鑺傚瓧絎︿覆錛圫ingleByte錛夛紝鐢ㄨ繖縐嶈〃紺烘柟寮忚褰曠殑鏂囨湰鏂囦歡縐頒負(fù)鏄疉NSI鏍煎紡鐨?br>

  澶氬瓧鑺傚瓧絎︿覆錛圡ultiByte錛夛紝鐢ㄨ繖縐嶈〃紺烘柟寮忚褰曠殑鏂囨湰鏂囦歡縐頒負(fù)鏄疢BCS鏍煎紡鐨?br>

 瀹藉瓧鑺傚瓧絎︿覆錛圵ideChar錛夛紝鐢ㄨ繖縐嶈〃紺烘柟寮忚褰曠殑鏂囨湰鏂囦歡縐頒負(fù)鏄疷nicode鏍煎紡鐨?br>         (涓涓猻hort綾誨瀷鐨勬暟瀛楁潵琛ㄧず錛屽嵆姣忎釜瀛楃鐨勯暱搴﹀浐瀹氫負(fù)2瀛楄妭)



henry08 2008-11-26 15:37 鍙戣〃璇勮
]]>
鍦ㄧ嚎C++緙栬瘧鍣ㄤ粙緇?/title><link>http://m.shnenglu.com/smallfa/archive/2008/11/26/67894.html</link><dc:creator>henry08</dc:creator><author>henry08</author><pubDate>Wed, 26 Nov 2008 04:35:00 GMT</pubDate><guid>http://m.shnenglu.com/smallfa/archive/2008/11/26/67894.html</guid><wfw:comment>http://m.shnenglu.com/smallfa/comments/67894.html</wfw:comment><comments>http://m.shnenglu.com/smallfa/archive/2008/11/26/67894.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/smallfa/comments/commentRss/67894.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/smallfa/services/trackbacks/67894.html</trackback:ping><description><![CDATA[<p>涓嬮潰鐨勭綉鍧鏄渶鏈夊悕鐨勪袱涓湪綰緾++緙栬瘧緗戠珯錛?/p> <p><a >http://www.dinkumware.com/exam/default.aspx</a> <br><a >http://www.comeaucomputing.com/tryitout/</a><br>璁稿鍦ㄧ嚎鍒ら緋葷粺涔熷彲浠ョ敤鏉ヨ繘琛屽湪綰跨紪璇戯細(xì)</p> <p><a >http://acm.zju.edu.cn/</a> <br><a >http://acm.pku.edu.cn/JudgeOnline/</a> <br><a >http://acm.uva.es/</a><br>浣犲彲鑳戒細(xì)濂藉榪欎簺緗戠珯浣跨敤鐨勭紪璇戝櫒鐨勭増鏈拰緙栬瘧鍙傛暟鍒板簳鏄粈涔堛傛湁浜涚綉绔欎細(xì)鎻愪緵榪欎簺淇℃伅錛岃屾湁浜涘垯涓嶄細(xì)銆傞偅涔堜綘灝卞彧鑳介潬鑷繁鍘誨彂鐜拌繖浜?#8220;縐樺瘑”浜嗐?/p> <p>宸ユ鍠勫叾浜嬶紝蹇呭厛鍒╁叾鍣ㄣ傝鎴戜滑鍏堢湅鐪嬩竴浜涗粠緙栬瘧鍣ㄨ幏鍙栦俊鎭殑灝忔妧宸с?/p> <p>1. 杈撳嚭瀹?br>鍦–++涓紝 瀛楃涓插父鏁頒笉鑳戒綔涓烘ā鏉垮弬鏁般傚ぇ澶氭暟緙栬瘧鍣ㄤ細(xì)鍦ㄩ敊璇俊鎭腑鍚屾椂杈撳嚭瀛楃涓茬殑鍐呭銆備笅闈㈢殑浠g爜灞曠ず浜嗚繖涓鎶宸с?</p> <p>template<const char *> class A {};<br>#define F0(x) #x<br>#define F1(x) F0(x)<br>#define V1 F1(__GNUC__)<br>int main()<br>{<br>    A<V1> a1;<br>}</p> <p><br>榪欓噷錛屽畯F0鍜孎1鐢ㄤ簬灝嗘暣鍨嬭漿鎹㈡垚瀛楃涓層傜紪璇戝櫒浼?xì)杈撳嚭绫讳奸g簬"literal "3" is not a valid template argument because it is the address of an object with static linkage"鐨勫嚭閿欎俊鎭傞噷闈㈢殑"3"灝辨槸浣犳兂鐭ラ亾鐨勫畯鐨勫唴瀹廣?</p> <p>2. 杈撳嚭甯告暟<br>鍚屾牱錛屾誕鐐規(guī)暟鏄笉鑳戒綔涓烘ā鏉垮弬鏁扮殑銆傜紪璇戝櫒閫氬父浼?xì)鍦ㄩ敊璇俊鎭腑鍖呭惈嬲Q鐐規(guī)暟鐨勫箋傚埄鐢ㄨ繖涓鐐癸紝鎴戜滑鍙互杈撳嚭嫻偣甯告暟銆備笉榪囧緢涓嶅垢鐨勬槸錛孷C浼?xì)闅愬紡鐨劄畣嬲Q鐐圭被鍨嬬殑妯℃澘鍙傛暟杞崲鎴恑nt錛堝弬瑙?a >https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=296008</a>錛?br>涓嬮潰鏄竴縐嶈緭鍑烘暣鍨嬪父閲忕殑鏂規(guī)硶錛?</p> <p>template<int N><br>class A<br>{<br>private:<br>    A();<br>};<br>int main()<br>{<br>    A<sizeof(char)> a;<br>}</p> <p><br>3. 杈撳嚭鍙橀噺綾誨瀷<br>鏈夋椂鍊欙紝浣犲彲鑳介渶瑕佺煡閬撴煇浜涘彉閲忕殑瀹為檯綾誨瀷錛岃繖鏃跺欎綘鍙互浣跨敤涓嬮潰鐨勪唬鐮侊細(xì) </p> <p>struct Dummy {};<br>void Fun(const Dummy &);<br>int main()<br>{<br>    Fun(1+1U);<br>}</p> <p><br>PS錛氬鏋滀綘浣跨敤鐨勬槸gcc錛岄偅涔堝畠浼?xì)杈撳?not convert `2' to `const Dummy&'"錛屾墍浠ヤ綘闇瑕佸皢Fun鐨勫0鏄庢敼鎴?template<typename T> void Fun(T);"錛堟崲鍙ヨ瘽璇達(dá)紝鍦╣cc涓笂闈㈢殑浠g爜涔熷彲浠ョ敤浜庤緭鍑哄父鏁扮殑鍊鹼級(jí) </p> <p>4. 杈撳嚭鍖呭惈璺緞<br>濡傛灉瑕佽幏鍙朣TL澶存枃浠剁殑璺緞錛屼綘鍙互浣跨敤錛?</p> <p>#include <ext/hash_set><br>using __gnu_cxx::hash_set; </p> <p>int main()<br>{<br>    hash_set<> m;<br>}</p> <p> </p> <p>PS錛氳繖閲屼篃鍙互浣跨敤vector銆?</p> <p>濂斤紝鐜板湪鏄椂鍊欑墰鍒灝忚瘯浜嗐傚叧浜庡浣曡幏鍙栫紪璇戝櫒鐨勭増鏈俊鎭紝鍙互鍙傝冭繖綃囨枃绔狅細(xì)Pre-defined Compiler Macros</p> <p>涓嬮潰鏄埄鐢ㄤ笂闈粙緇嶇殑鎶宸ц幏寰楃殑dinkumware緗戠珯鐨勪竴浜涜祫鏂欙細(xì) </p> <p>1. VC <br>鐗堟湰 (_MSC_FULL_VER)錛?br>         VC8 140050727 <br>         VC7.1 13103077 <br>         VC7 13009466 <br>         VC6 12008804 <br>鍖呭惈璺緞錛?<br>         D:\cplt501_vc_source\include (with _CPPLIB_VER=501) </p> <p>2. EDG<br>鐗堟湰(__EDG_VERSION__):<br>         3.05  <br>緙栬瘧鍙傛暟錛?br>         edgcc --alt -D_WIN32 -D_M_IX86 --no_inlining --diag_suppress=1290 --long_long --wchar_t_keyword -D_C99 -ID:\cplt501_gen_source/include/c -ID:\cplt501_gen_source/include -IC:\PROGRA~1\MICROS~2.NET\VC7/include --exceptions --microsoft -c sourceFile.cpp <br>鍥犱負(fù)浣跨敤浜哣C鍏煎妯″紡榪涜緙栬瘧錛屾墍浠ョ紪璇戝櫒鍙兘浼?xì)妯℃嫙VC鐨勯儴鍒哹ug </p> <p>3. GCC<br>鐗堟湰錛?br>         3.2.0 <br>鍖呭惈璺緞錛?br>         D:/cplt501_gen_source/include and D:/Mingw/include/c++/3.2/<br>鍙互鐪嬪埌榪欓噷浣跨敤鐨凣CC鐨勭増鏈凡緇忕浉褰撻檲鏃т簡</p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p><br>鏂囩珷鍑哄錛?a >http://www.diybl.com/course/3_program/c++/cppsl/2008108/149011.html</a></p> <img src ="http://m.shnenglu.com/smallfa/aggbug/67894.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/smallfa/" target="_blank">henry08</a> 2008-11-26 12:35 <a href="http://m.shnenglu.com/smallfa/archive/2008/11/26/67894.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>璧嬪艱鍙?/title><link>http://m.shnenglu.com/smallfa/archive/2008/11/26/67857.html</link><dc:creator>henry08</dc:creator><author>henry08</author><pubDate>Tue, 25 Nov 2008 16:18:00 GMT</pubDate><guid>http://m.shnenglu.com/smallfa/archive/2008/11/26/67857.html</guid><wfw:comment>http://m.shnenglu.com/smallfa/comments/67857.html</wfw:comment><comments>http://m.shnenglu.com/smallfa/archive/2008/11/26/67857.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/smallfa/comments/commentRss/67857.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/smallfa/services/trackbacks/67857.html</trackback:ping><description><![CDATA[<p>璧嬪艱鍙?br>鍥犳搴斿湪鍙橀噺瀹氫箟鐨勬椂鍊欏氨榪涜璧嬪鹼紙浣嗘槸浼?xì)鏈夋ц兘涓婄殑褰卞搷錛屼笉榪囧緢灝忥級(jí)錛屼互鍒濆鍖栧彉閲忚岄槻姝㈠嚭鐜拌帿鍚嶅叾濡欑殑鍊?鍦ㄨ〃杈懼紡涓繍鐢ㄨ祴鍊艱繍綆楃鏄笉濂界殑錛屽嵆浣垮畠鍙兘璁╀綘鍐欏嚭鐪嬭搗鏉ョ畝緇冪殑璇彞錛屼絾瀹冧篃浣夸唬鐮佺殑鍙淮鎶ゆч檷浣庛?/p> <p><br>true 0<br>false 闈?</p> <img src ="http://m.shnenglu.com/smallfa/aggbug/67857.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/smallfa/" target="_blank">henry08</a> 2008-11-26 00:18 <a href="http://m.shnenglu.com/smallfa/archive/2008/11/26/67857.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鏍堬紙Stack錛? 鍫嗭紙Heap錛?/title><link>http://m.shnenglu.com/smallfa/archive/2008/11/24/67743.html</link><dc:creator>henry08</dc:creator><author>henry08</author><pubDate>Mon, 24 Nov 2008 10:45:00 GMT</pubDate><guid>http://m.shnenglu.com/smallfa/archive/2008/11/24/67743.html</guid><wfw:comment>http://m.shnenglu.com/smallfa/comments/67743.html</wfw:comment><comments>http://m.shnenglu.com/smallfa/archive/2008/11/24/67743.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/smallfa/comments/commentRss/67743.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/smallfa/services/trackbacks/67743.html</trackback:ping><description><![CDATA[<br><span style="COLOR: #0000ff">C++鍗沖厑璁哥▼搴忓憳鏈変袱縐嶅悜鎿嶄綔緋葷粺鐢寵鍐呭瓨鐨勬柟寮忋?br></span>    鍓嶄竴縐嶅氨鏄湪鏍堜笂鍒嗛厤錛岀敵璇風(fēng)殑鍐呭瓨澶у皬<span style="COLOR: #ff0000">鍥哄畾涓嶅彉</span>銆?br>    鍚庝竴縐嶆槸鍦ㄥ爢涓婂垎閰嶏紝<span style="COLOR: #ff0000">鐢寵鐨勫唴瀛樺ぇ灝忓彲浠ュ湪榪愯鐨勬椂鍊欏彉鍖?/span>錛屼笉鏄浐瀹氫笉鍙樼殑<br>_______+++++++++++++++++++++++++++++++++++_____________________________<br><br><br><br><br><strong>鏍堬紙Stack錛?br></strong>                    <br>                  : 浠諱綍紼嬪簭鎵ц鍓嶏紝<span style="COLOR: red">棰勫厛鍒嗛厤</span>涓鍥哄畾闀垮害鐨勫唴瀛樼┖闂達(dá)紝<br>                    榪欏潡鍐呭瓨絀洪棿琚О浣滄爤,涔熻鍙仛鍫嗘爤<br>                    鍗崇▼搴忓憳鑷繁鍒ゆ柇鍙互浣跨敤鍝簺鍐呭瓨錛?br>                    鑰?span style="COLOR: red">涓嶆槸</span>鎿嶄綔緋葷粺,寰堟槑鏄撅紝<br>                   涓婇潰鐨勫伐浣滄槸<span style="COLOR: red">鐢辯紪璇戝櫒鏉ュ仛</span>鐨勶紝   <br>                   宸ヤ綔鍙槸浠庢搷浣滅郴緇熷彉鍒扮▼搴忚嚜宸辮屽凡,<br><span style="COLOR: red">                   濂藉</span>灝辨槸鐢變簬紼嬪簭涓寮濮嬫墽琛屾椂灝卞凡緇忓垎閰嶄簡涓澶у潡榪炵畫鍐呭瓨,<br><span style="COLOR: red">                   鍧忓</span>涔熷氨鏄彧鑳藉湪緙栬瘧鏃舵湡鍒嗛厤鍐呭瓨<br><br><br><span style="COLOR: #0000ff">涓婇潰鐨勫伐浣滄槸緙栬瘧鍣ㄥ仛鐨勶紝鍗崇▼搴忓憳騫朵笉鍙備笌鍫嗘爤鐨勭淮鎶ゃ備絾涓婇潰宸茬粡璇翠簡錛屽爢鏍堢浉褰撲簬鍦ㄧ紪璇戞椂鏈熷垎閰嶅唴瀛橈紝鍥犳涓鏃﹁綆楀ソ鏌愬潡鍐呭瓨鐨勫亸縐伙紝鍒欒繖鍧楀唴瀛樺氨鍙兘閭d箞澶э紝涓嶈兘鍙樺寲浜?br><br><br>__________________________________________________________________________________________________<br><br><font color=#000000><strong>鍫嗭紙Heap錛?br><br>                 </strong>鍦╓indows鎿嶄綔緋葷粺涓嬶紝鐢?span style="COLOR: #ff0000">鎿嶄綔緋葷粺鍒嗛厤鐨勫唴瀛樺氨鍙仛鍫?/span>錛?br>                 鑰屾爤鍙互璁や負(fù)鏄湪紼嬪簭寮濮嬫椂灝卞垎閰嶇殑鍫?br>                 鍥犳鍦ㄥ爢涓婂氨鍙互鍒嗛厤澶у皬鍙樺寲鐨勫唴瀛樺潡錛?br>                 鍥犱負(fù)鏄?span style="COLOR: #ff0000">榪愯鏃舵湡</span>鍗蟲椂鍒嗛厤鐨勫唴瀛橈紝<br>                鑰?span style="COLOR: #ff0000">涓嶆槸緙栬瘧鏃舵湡</span>宸茶綆楀ソ澶у皬鐨勫唴瀛樺潡銆?br></font></span> <img src ="http://m.shnenglu.com/smallfa/aggbug/67743.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/smallfa/" target="_blank">henry08</a> 2008-11-24 18:45 <a href="http://m.shnenglu.com/smallfa/archive/2008/11/24/67743.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>c++ 寮blogshttp://m.shnenglu.com/smallfa/archive/2008/11/11/66606.htmlhenry08henry08Tue, 11 Nov 2008 07:35:00 GMThttp://m.shnenglu.com/smallfa/archive/2008/11/11/66606.htmlhttp://m.shnenglu.com/smallfa/comments/66606.htmlhttp://m.shnenglu.com/smallfa/archive/2008/11/11/66606.html#Feedback0http://m.shnenglu.com/smallfa/comments/commentRss/66606.htmlhttp://m.shnenglu.com/smallfa/services/trackbacks/66606.html

henry08 2008-11-11 15:35 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              亚洲国产精品成人| 亚洲精品网站在线播放gif| 国产在线不卡精品| 在线亚洲自拍| 亚洲黄色在线| 国产精品国产三级国产专播品爱网 | 亚洲色图制服丝袜| 9国产精品视频| 久久精品国产亚洲aⅴ| 国产一区二区精品久久| 久久久国产精品一区二区中文| 午夜亚洲福利在线老司机| 国产伦精品一区二区三区照片91 | 欧美一区二区三区的| 欧美亚洲一级片| 久久久免费精品视频| 亚洲国产女人aaa毛片在线| 久久精品人人做人人爽| 女仆av观看一区| 夜夜嗨av一区二区三区中文字幕| 免费短视频成人日韩| 亚洲一区二区三区乱码aⅴ| 久久久美女艺术照精彩视频福利播放| 黄色精品在线看| 国产精品卡一卡二| 欧美午夜在线观看| 欧美日韩国产美| 久久黄色小说| 久久久久久九九九九| 欧美午夜剧场| 亚洲在线网站| 亚洲午夜电影网| 亚洲乱码国产乱码精品精天堂| 伊人春色精品| 激情综合在线| 亚洲欧洲一区二区天堂久久| 在线国产日韩| 一区二区三区四区在线| 亚洲一级在线观看| 99国产精品一区| 欧美日韩国产在线看| 亚洲欧美综合v| 性久久久久久| 欧美成人一品| 欧美日韩第一区| 一区二区欧美日韩| 亚洲综合视频网| 午夜精品视频一区| 国产一区二区三区高清播放| 久久久久久久久久久成人| 久久综合狠狠综合久久综合88| 老妇喷水一区二区三区| 亚洲制服少妇| 欧美午夜精品久久久久免费视| 亚洲欧美制服中文字幕| 玖玖国产精品视频| 久久精品亚洲热| 欧美精品成人91久久久久久久| 国产一区二区三区四区五区美女| 另类欧美日韩国产在线| 欧美性色视频在线| 欧美成人精品在线视频| 中日韩高清电影网| 91久久精品久久国产性色也91| 亚洲视频精选| 99精品国产高清一区二区| 欧美成人精品一区二区三区| 国产精品入口| 欧美专区18| 久久精品一区四区| 久久一区欧美| 在线免费观看欧美| 久久久久久久久蜜桃| 久久日韩精品| 日韩午夜电影| 欧美视频免费在线观看| 欧美影院视频| 久久久亚洲国产天美传媒修理工| 亚洲一级在线观看| 国产欧美日韩伦理| 久久在精品线影院精品国产| 国产真实久久| 欧美经典一区二区三区| 影音先锋亚洲一区| 欧美xxxx在线观看| 一本高清dvd不卡在线观看| 欧美在线综合视频| 亚洲福利视频在线| 国产精品伦一区| 香蕉亚洲视频| 91久久久久久久久| 国产精品亚洲一区| 香蕉久久一区二区不卡无毒影院| 欧美高清视频| 欧美一区二区私人影院日本| 国产一区二区福利| 欧美精品色一区二区三区| 欧美亚洲视频| 亚洲素人在线| 一区二区三区国产精品| 狠狠久久亚洲欧美专区| 国产精品私拍pans大尺度在线| 免费日韩成人| 亚洲欧洲精品天堂一级| 蜜臀久久99精品久久久久久9| 国产欧美欧洲在线观看| 欧美精品一区二区视频 | 国产精品一卡二卡| 欧美日韩综合视频网址| 欧美激情亚洲视频| 免费在线看成人av| 欧美国产视频一区二区| 一本久久a久久精品亚洲| 一区二区三区国产在线| 日韩午夜av在线| 一区二区欧美精品| 亚洲欧美日韩中文播放| 国产乱肥老妇国产一区二| 国产精品v日韩精品| 国产精品久久77777| 亚洲精品乱码| 久久狠狠亚洲综合| 一本一本a久久| 中日韩美女免费视频网站在线观看| 欧美91视频| 亚洲麻豆av| 亚洲午夜免费福利视频| 9人人澡人人爽人人精品| 午夜日韩在线| 91久久国产综合久久蜜月精品| 亚洲国产另类久久久精品极度| 一区二区三区四区在线| 欧美一区二区三区的| 欧美日韩视频在线观看一区二区三区| 宅男精品视频| 久久久国际精品| 国产精品视频999| 99精品视频免费在线观看| 性一交一乱一区二区洋洋av| 亚洲美女福利视频网站| 久久精品国产一区二区三| 国产九区一区在线| 欧美亚洲免费电影| 日韩一级在线观看| 亚洲国产成人久久综合一区| 欧美亚洲尤物久久| 亚洲色图综合久久| 欧美日韩综合在线免费观看| 亚洲美女在线视频| 欧美三级韩国三级日本三斤| 亚洲精品一区在线| 免费看成人av| 老牛嫩草一区二区三区日本| 激情五月婷婷综合| 欧美91视频| 欧美视频精品一区| 久久大香伊蕉在人线观看热2| 国产午夜久久| 99国产精品久久久久久久久久| 欧美国产日韩a欧美在线观看| 欧美国内亚洲| 老司机午夜精品| 麻豆成人在线播放| 99精品久久免费看蜜臀剧情介绍| 亚洲全黄一级网站| 国产精品扒开腿做爽爽爽软件| 欧美一区二区三区免费视频| 国内一区二区在线视频观看| 免费成人av在线看| 欧美日韩专区在线| 美女国产精品| 欧美日韩国产999| 久久亚洲精品一区| 国产精品每日更新在线播放网址| 久久国产精品久久久久久| 久久夜色精品国产亚洲aⅴ| 欧美日韩99| 另类av导航| 国产亚洲成av人片在线观看桃| 91久久国产精品91久久性色| 狠狠入ady亚洲精品| 亚洲欧美日韩精品久久久久| 欧美日韩精品免费观看视频完整 | 亚洲午夜电影在线观看| 狼狼综合久久久久综合网| 久久久久久色| 国产日韩精品一区| 亚洲欧美在线x视频| 欧美在现视频| 狠狠色丁香婷综合久久| 久久精品视频99| 欧美不卡一区| 日韩视频在线永久播放| 欧美 日韩 国产一区二区在线视频| 久久亚洲欧洲| 日韩一区二区精品| 欧美日韩免费在线观看| 亚洲欧美一区二区视频| 久久精视频免费在线久久完整在线看| 国产一区二区三区四区三区四|