锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久免费视频观看,欧美日韩国产美,尤物精品在线http://m.shnenglu.com/paladino/category/4425.html鍦ㄥ姫鍔涖佺(緇冦佹墦鍑諱笅涓嶆柇鍦板悜鐫鐞嗘兂鍓嶈繘zh-cnTue, 20 May 2008 01:11:23 GMTTue, 20 May 2008 01:11:23 GMT60sizeof 鍏ㄨВ鏋?/title><link>http://m.shnenglu.com/paladino/articles/26578.html</link><dc:creator>Gu.paladino</dc:creator><author>Gu.paladino</author><pubDate>Mon, 18 Jun 2007 10:26:00 GMT</pubDate><guid>http://m.shnenglu.com/paladino/articles/26578.html</guid><wfw:comment>http://m.shnenglu.com/paladino/comments/26578.html</wfw:comment><comments>http://m.shnenglu.com/paladino/articles/26578.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/paladino/comments/commentRss/26578.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/paladino/services/trackbacks/26578.html</trackback:ping><description><![CDATA[<div id="hvzpftn" class="postTitle">0. 鍓嶅悜澹版槑</div> <div id="hvzpftn" class="postText"> <p>sizeof錛屼竴涓叾璨屼笉鎵殑瀹朵紮錛屽紩鏃犳暟鑿滈笩绔熸姌鑵幫紝灝忚櫨鎴戝綋鍒濅篃娌″皯鐘糠緋婏紝縐夌潃“杈涜嫤鎴戜竴涓紝騫哥鍗冧竾浜?#8221;鐨勪紵澶ф濇兂錛屾垜鍐沖畾灝嗗叾灝藉彲鑳借緇嗙殑鎬葷粨涓涓嬨?/p> <p>浣嗗綋鎴戞葷粨鐨勬椂鍊欐墠鍙戠幇錛岃繖涓棶棰樻棦鍙互綆鍗曪紝鍙堝彲浠ュ鏉傦紝鎵浠ユ湰鏂囨湁鐨勫湴鏂瑰茍涓嶉傚悎鍒濆鑰咃紝鐢氳嚦閮芥病鏈夊繀瑕佸ぇ浣滄枃绔犮備絾濡傛灉浣犳兂“鐭ュ叾鐒訛紝鏇寸煡鍏舵墍浠ョ劧”鐨勮瘽錛岄偅涔堣繖綃囨枃绔犲浣犳垨璁告湁鎵甯姪銆?/p> <p>鑿滈笩鎴戝C++鐨勬帉鎻″皻鏈繁鍏ワ紝鍏朵腑涓嶄箯閿欒錛屾榪庡悇浣嶆墧鐮栫牳铔嬨?/p> <p>1. 瀹氫箟</p> <p>sizeof鏄綍鏂圭鍦o紵sizeof涔僀/C++涓殑涓涓搷浣滅錛坥perator錛夋槸涔燂紝綆鍗曠殑璇村叾浣滅敤灝辨槸榪斿洖涓涓璞℃垨鑰呯被鍨嬫墍鍗犵殑鍐呭瓨瀛楄妭鏁般?</p> <p>MSDN涓婄殑瑙i噴涓猴細</p> <div id="hvzpftn" class="postRefrence"> <p>The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types).</p> <p>This keyword returns a value of type size_t.</p> </div> <p>鍏惰繑鍥炲肩被鍨嬩負size_t錛屽湪澶存枃浠秙tddef.h涓畾涔夈傝繖鏄竴涓緷璧栦簬緙栬瘧緋葷粺鐨勫鹼紝涓鑸畾涔変負錛?/p> <div id="hvzpftn" class="postCode"><font color="#0000ff">typedef</font> <font color="#0000ff">unsigned</font> <font color="#0000ff">int</font> size_t; </div> <p>涓栦笂緙栬瘧鍣ㄦ灄鏋楁繪伙紝浣嗕綔涓轟竴涓鑼冿紝瀹冧滑閮戒細淇濊瘉char銆乻igned char鍜寀nsigned char鐨剆izeof鍊間負1錛屾瘯绔焎har鏄垜浠紪紼嬭兘鐢ㄧ殑鏈灝忔暟鎹被鍨嬨?/p> <p>2. 璇硶</p> <p>sizeof鏈変笁縐嶈娉曞艦寮忥紝濡備笅錛?/p> <div id="hvzpftn" class="postConclusion">1) sizeof( object ); // sizeof( 瀵硅薄 );<br>2) sizeof( type_name ); // sizeof( 綾誨瀷 );<br>3) sizeof object; // sizeof 瀵硅薄;<br></div> <p>鎵浠ワ紝</p> <div id="hvzpftn" class="postCode"><font color="#0000ff">int</font> i;<br><font color="#0000ff">sizeof</font>( i ); <font color="#008000">// ok</font><br><font color="#0000ff">sizeof</font> i; <font color="#008000">// ok</font><br><font color="#0000ff">sizeof</font>( <font color="#0000ff">int</font> ); <font color="#008000">// ok</font><br><font color="#0000ff">sizeof</font> <font color="#0000ff">int</font>; <font color="#008000">// error</font> </div> <p>鏃㈢劧鍐欐硶3鍙互鐢ㄥ啓娉?浠f浛錛屼負姹傚艦寮忕粺涓浠ュ強鍑忓皯鎴戜滑澶ц剳鐨勮礋鎷咃紝絎?縐嶅啓娉曪紝蹇樻帀瀹冨惂錛?/p> <p>瀹? 闄呬笂錛宻izeof璁$畻瀵硅薄鐨勫ぇ灝忎篃鏄漿鎹㈡垚瀵瑰璞$被鍨嬬殑璁$畻錛屼篃灝辨槸璇達紝鍚岀綾誨瀷鐨勪笉鍚屽璞″叾sizeof鍊奸兘鏄竴鑷寸殑銆傝繖閲岋紝瀵硅薄鍙互榪涗竴姝ュ歡浼歌嚦琛? 杈懼紡錛屽嵆sizeof鍙互瀵逛竴涓〃杈懼紡姹傚鹼紝緙栬瘧鍣ㄦ牴鎹〃杈懼紡鐨勬渶緇堢粨鏋滅被鍨嬫潵紜畾澶у皬錛屼竴鑸笉浼氬琛ㄨ揪寮忚繘琛岃綆椼傚錛?</p> <div id="hvzpftn" class="postCode"><font color="#0000ff">sizeof</font>( 2 ); <font color="#008000">// 2鐨勭被鍨嬩負int錛屾墍浠ョ瓑浠蜂簬 sizeof( int );</font><br><font color="#0000ff">sizeof</font>( 2 + 3.14 ); <font color="#008000">// 3.14鐨勭被鍨嬩負double錛?涔熶細琚彁鍗囨垚double綾誨瀷錛屾墍浠ョ瓑浠蜂簬 sizeof( double );</font> </div> <p>sizeof涔熷彲浠ュ涓涓嚱鏁拌皟鐢ㄦ眰鍊鹼紝鍏剁粨鏋滄槸鍑芥暟榪斿洖綾誨瀷鐨勫ぇ灝忥紝鍑芥暟騫朵笉浼氳璋冪敤錛屾垜浠潵鐪嬩竴涓畬鏁寸殑渚嬪瓙錛?/p> <div id="hvzpftn" class="postCode"><font color="#0000ff">char</font> foo()<br>{<br>    printf(<font color="#ff00ff">"foo() has been called.\n"</font>);<br>    <font color="#0000ff">return</font> 'a';<br>}<br><font color="#0000ff">int</font> main()<br>{<br>    size_t sz = <font color="#0000ff">sizeof</font>( foo() ); <font color="#008000">// foo() 鐨勮繑鍥炲肩被鍨嬩負char錛屾墍浠z = sizeof( char )錛宖oo()騫朵笉浼氳璋冪敤</font><br>    printf(<font color="#ff00ff">"sizeof( foo() ) = %d\n"</font>, sz); <br>} </div> <p>C99鏍囧噯瑙勫畾錛屽嚱鏁般佷笉鑳界‘瀹氱被鍨嬬殑琛ㄨ揪寮忎互鍙婁綅鍩燂紙bit-field錛夋垚鍛樹笉鑳借璁$畻sizeof鍊鹼紝鍗充笅闈㈣繖浜涘啓娉曢兘鏄敊璇殑錛?/p> <div id="hvzpftn" class="postCode"><font color="#0000ff">sizeof</font>( foo ); <font color="#008000">// error</font><br><br><font color="#0000ff">void</font> foo2() { }<br><font color="#0000ff">sizeof</font>( foo2() ); <font color="#008000">// error</font><br><br><font color="#0000ff">struct</font> S<br>{<br>    <font color="#0000ff">unsigned</font> <font color="#0000ff">int</font> f1 : 1;<br>    <font color="#0000ff">unsigned</font> <font color="#0000ff">int</font> f2 : 5;<br>    <font color="#0000ff">unsigned</font> <font color="#0000ff">int</font> f3 : 12;<br>};<br><font color="#0000ff">sizeof</font>( S.f1 ); <font color="#008000">// error</font> </div> <p>3. sizeof鐨勫父閲忔?/p> <p>sizeof鐨勮綆楀彂鐢熷湪緙栬瘧鏃跺埢錛屾墍浠ュ畠鍙互琚綋浣滃父閲忚〃杈懼紡浣跨敤錛屽錛?/p> <div id="hvzpftn" class="postCode"><font color="#0000ff">char</font> ary[ <font color="#0000ff">sizeof</font>( <font color="#0000ff">int</font> ) * 10 ]; <font color="#008000">// ok</font> </div> <p>鏈鏂扮殑C99鏍囧噯瑙勫畾sizeof涔熷彲浠ュ湪榪愯鏃跺埢榪涜璁$畻錛屽涓嬮潰鐨勭▼搴忓湪Dev-C++涓彲浠ユ紜墽琛岋細 </p> <div id="hvzpftn" class="postCode"><font color="#0000ff">int</font> n;<br>n = 10; <font color="#008000">// n鍔ㄦ佽祴鍊?/font><br><font color="#0000ff">char</font> ary[n]; <font color="#008000">// C99涔熸敮鎸佹暟緇勭殑鍔ㄦ佸畾涔?/font><br>printf(<font color="#ff00ff">"%d\n"</font>, <font color="#0000ff">sizeof</font>(ary)); <font color="#008000">// ok. 杈撳嚭10</font> </div> <p>浣嗗湪娌℃湁瀹屽叏瀹炵幇C99鏍囧噯鐨勭紪璇戝櫒涓氨琛屼笉閫氫簡錛屼笂闈㈢殑浠g爜鍦╒C6涓氨閫氫笉榪囩紪璇戙傛墍浠ユ垜浠渶濂借繕鏄涓簊izeof鏄湪緙栬瘧鏈熸墽琛岀殑錛岃繖鏍蜂笉浼氬甫鏉ラ敊璇紝璁╃▼搴忕殑鍙Щ妞嶆у己浜涖?/p> <p>4. 鍩烘湰鏁版嵁綾誨瀷鐨剆izeof</p> <p>榪欓噷鐨勫熀鏈暟鎹被鍨嬫寚short銆乮nt銆乴ong銆乫loat銆乨ouble榪欐牱鐨勭畝鍗曞唴緗暟鎹被鍨嬶紝鐢變簬瀹冧滑閮芥槸鍜岀郴緇熺浉鍏崇殑錛屾墍浠ュ湪涓嶅悓鐨勭郴緇熶笅鍙栧煎彲鑳戒笉鍚岋紝榪欏姟蹇呭紩璧鋒垜浠殑娉ㄦ剰錛屽敖閲忎笉瑕佸湪榪欐柟闈㈢粰鑷繁紼嬪簭鐨勭Щ妞嶉犳垚楹葷儲銆?/p> <p>涓鑸殑錛屽湪32浣嶇紪璇戠幆澧冧腑錛宻izeof(int)鐨勫彇鍊間負4銆?/p> <p>5. 鎸囬拡鍙橀噺鐨剆izeof</p> <p>瀛? 榪囨暟鎹粨鏋勭殑浣犲簲璇ョ煡閬撴寚閽堟槸涓涓緢閲嶈鐨勬蹇碉紝瀹冭褰曚簡鍙︿竴涓璞$殑鍦板潃銆傛棦鐒舵槸鏉ュ瓨鏀懼湴鍧鐨勶紝閭d箞瀹冨綋鐒剁瓑浜庤綆楁満鍐呴儴鍦板潃鎬葷嚎鐨勫搴︺傛墍浠ュ湪32浣? 璁$畻鏈轟腑錛屼竴涓寚閽堝彉閲忕殑榪斿洖鍊煎繀瀹氭槸4錛堟敞鎰忕粨鏋滄槸浠ュ瓧鑺備負鍗曚綅錛夛紝鍙互棰勮錛屽湪灝嗘潵鐨?4浣嶇郴緇熶腑鎸囬拡鍙橀噺鐨剆izeof緇撴灉涓?銆?/p> <div id="hvzpftn" class="postCode"><font color="#0000ff">char</font>* pc = <font color="#ff00ff">"abc"</font>;<br><font color="#0000ff">int</font>* pi;<br><font color="#0000ff">string</font>* ps;<br><font color="#0000ff">char</font>** ppc = &pc;<br><font color="#0000ff">void</font> (*pf)(); <font color="#008000">// 鍑芥暟鎸囬拡</font><br><font color="#0000ff">sizeof</font>( pc ); <font color="#008000">// 緇撴灉涓?</font><br><font color="#0000ff">sizeof</font>( pi ); <font color="#008000">// 緇撴灉涓?</font><br><font color="#0000ff">sizeof</font>( ps ); <font color="#008000">// 緇撴灉涓?</font><br><font color="#0000ff">sizeof</font>( ppc ); <font color="#008000">// 緇撴灉涓?</font><br><font color="#0000ff">sizeof</font>( pf ); <font color="#008000">// 緇撴灉涓?</font> </div> <p>鎸囬拡鍙橀噺鐨剆izeof鍊間笌鎸囬拡鎵鎸囩殑瀵硅薄娌℃湁浠諱綍鍏崇郴錛屾鏄敱浜庢墍鏈夌殑鎸囬拡鍙橀噺鎵鍗犲唴瀛樺ぇ灝忕浉絳夛紝鎵浠FC娑堟伅澶勭悊鍑芥暟浣跨敤涓や釜鍙傛暟WPARAM銆丩PARAM灝辮兘浼犻掑悇縐嶅鏉傜殑娑堟伅緇撴瀯錛堜嬌鐢ㄦ寚鍚戠粨鏋勪綋鐨勬寚閽堬級銆?/p> <p>6. 鏁扮粍鐨剆izeof</p> <p>鏁扮粍鐨剆izeof鍊肩瓑浜庢暟緇勬墍鍗犵敤鐨勫唴瀛樺瓧鑺傛暟錛屽錛?/p> <div id="hvzpftn" class="postCode"><font color="#0000ff">char</font> a1[] = <font color="#ff00ff">"abc"</font>;<br><font color="#0000ff">int</font> a2[3];<br><font color="#0000ff">sizeof</font>( a1 ); <font color="#008000">// 緇撴灉涓?錛屽瓧絎︿覆鏈熬榪樺瓨鍦ㄤ竴涓狽ULL緇堟絎?/font><br><font color="#0000ff">sizeof</font>( a2 ); <font color="#008000">// 緇撴灉涓?*4=12錛堜緷璧栦簬int錛?/font><br></div> <p>涓浜涙湅鍙嬪垰寮濮嬫椂鎶妔izeof褰撲綔浜嗘眰鏁扮粍鍏冪礌鐨勪釜鏁幫紝鐜板湪錛屼綘搴旇鐭ラ亾榪欐槸涓嶅鐨勶紝閭d箞搴旇鎬庝箞姹傛暟緇勫厓绱犵殑涓暟鍛紵Easy錛岄氬父鏈変笅闈袱縐嶅啓娉曪細</p> <div id="hvzpftn" class="postCode"><font color="#0000ff">int</font> c1 = <font color="#0000ff">sizeof</font>( a1 ) / <font color="#0000ff">sizeof</font>( <font color="#0000ff">char</font> ); <font color="#008000">// 鎬婚暱搴?鍗曚釜鍏冪礌鐨勯暱搴?/font><br><font color="#0000ff">int</font> c2 = <font color="#0000ff">sizeof</font>( a1 ) / <font color="#0000ff">sizeof</font>( a1[0] ); <font color="#008000">// 鎬婚暱搴?絎竴涓厓绱犵殑闀垮害</font> </div> <p>鍐欏埌榪欓噷錛屾彁涓闂紝涓嬮潰鐨刢3錛宑4鍊煎簲璇ユ槸澶氬皯鍛紵</p> <div id="hvzpftn" class="postCode"><font color="#0000ff">void</font> foo3(<font color="#0000ff">char</font> a3[3])<br>{<br>    <font color="#0000ff">int</font> c3 = <font color="#0000ff">sizeof</font>( a3 ); <font color="#008000">// c3 == ?</font><br>}<br><font color="#0000ff">void</font> foo4(<font color="#0000ff">char</font> a4[])<br>{<br>    <font color="#0000ff">int</font> c4 = <font color="#0000ff">sizeof</font>( a4 ); <font color="#008000">// c4 == ?</font><br>} </div> <p>涔? 璁稿綋浣犺瘯鍥懼洖絳攃4鐨勫兼椂宸茬粡鎰忚瘑鍒癱3絳旈敊浜嗭紝鏄殑錛宑3!=3銆傝繖閲屽嚱鏁板弬鏁癮3宸蹭笉鍐嶆槸鏁扮粍綾誨瀷錛岃屾槸铚曞彉鎴愭寚閽堬紝鐩稿綋浜巆har* a3錛屼負浠涔堬紵浠旂粏鎯蟲兂灝變笉闅炬槑鐧斤紝鎴戜滑璋冪敤鍑芥暟foo1鏃訛紝紼嬪簭浼氬湪鏍堜笂鍒嗛厤涓涓ぇ灝忎負3鐨勬暟緇勫悧錛熶笉浼氾紒鏁扮粍鏄?#8220;浼犲潃”鐨勶紝璋冪敤鑰呭彧闇灝嗗疄鍙傜殑鍦板潃浼? 閫掕繃鍘伙紝鎵浠3鑷劧涓烘寚閽堢被鍨嬶紙char*錛夛紝c3鐨勫間篃灝變負4銆?/p> <p>7. 緇撴瀯浣撶殑sizeof</p> <p>榪欐槸鍒濆鑰呴棶寰楁渶澶氱殑涓涓棶棰橈紝鎵浠ヨ繖閲屾湁蹇呰澶氳垂鐐圭瑪澧ㄣ傝鎴戜滑鍏堢湅涓涓粨鏋勪綋錛?/p> <div id="hvzpftn" class="postCode"><font color="#0000ff">struct</font> S1<br>{<br>    <font color="#0000ff">char</font> c;<br>    <font color="#0000ff">int</font> i;<br>}; </div> <p>闂畇izeof(s1)絳変簬澶氬皯錛熻仾鏄庣殑浣犲紑濮嬫濊冧簡錛宑har鍗?涓瓧鑺傦紝int鍗?涓瓧鑺傦紝閭d箞鍔犺搗鏉ュ氨搴旇鏄?銆傛槸榪欐牱鍚楋紵浣犲湪浣犳満鍣ㄤ笂璇曡繃浜嗗悧錛熶篃璁鎬綘鏄鐨勶紝浣嗗緢鍙兘浣犳槸閿欑殑錛乂C6涓寜榛樿璁劇疆寰楀埌鐨勭粨鏋滀負8銆?/p> <p>Why錛熶負浠涔堝彈浼ょ殑鎬繪槸鎴戯紵 </p> <p>璇蜂笉瑕佹伯涓э紝鎴戜滑鏉ュソ濂界悽紓ㄤ竴涓媠izeof鐨勫畾涔夆斺攕izeof鐨勭粨鏋滅瓑浜庡璞℃垨鑰呯被鍨嬫墍鍗犵殑鍐呭瓨瀛楄妭鏁幫紝濂藉惂錛岄偅灝辮鎴戜滑鏉ョ湅鐪婼1鐨勫唴瀛樺垎閰嶆儏鍐碉細</p> <div id="hvzpftn" class="postCode">S1 s1 = { 'a', 0xFFFFFFFF }; </div> <p>瀹氫箟涓婇潰鐨勫彉閲忓悗錛屽姞涓婃柇鐐癸紝榪愯紼嬪簭錛岃瀵焥1鎵鍦ㄧ殑鍐呭瓨錛屼綘鍙戠幇浜嗕粈涔堬紵</p> <p>浠ユ垜鐨刅C6.0涓轟緥錛宻1鐨勫湴鍧涓?x0012FF78錛屽叾鏁版嵁鍐呭濡備笅錛?/p> <div id="hvzpftn" class="postCode">0012FF78: 61 CC CC CC FF FF FF FF<br></div> <p>鍙戠幇浜嗕粈涔堬紵鎬庝箞涓棿澶規潅浜?涓瓧鑺傜殑CC錛熺湅鐪婱SDN涓婄殑璇存槑錛?/p> <div id="hvzpftn" class="postRefrence">When applied to a structure type or variable, sizeof returns the actual size, which may include padding bytes inserted for alignment.<br></div> <p>鍘熸潵濡傛錛岃繖灝辨槸浼犺涓殑瀛楄妭瀵歸綈鍟婏紒涓涓噸瑕佺殑璇濋鍑虹幇浜嗐?/p> <p>涓? 浠涔堥渶瑕佸瓧鑺傚榻愶紵璁$畻鏈虹粍鎴愬師鐞嗘暀瀵兼垜浠繖鏍鋒湁鍔╀簬鍔犲揩璁$畻鏈虹殑鍙栨暟閫熷害錛屽惁鍒欏氨寰楀鑺辨寚浠ゅ懆鏈熶簡銆備負姝わ紝緙栬瘧鍣ㄩ粯璁や細瀵圭粨鏋勪綋榪涜澶勭悊錛堝疄闄呬笂鍏跺畠鍦? 鏂圭殑鏁版嵁鍙橀噺涔熸槸濡傛錛夛紝璁╁搴︿負2鐨勫熀鏈暟鎹被鍨嬶紙short絳夛級閮戒綅浜庤兘琚?鏁撮櫎鐨勫湴鍧涓婏紝璁╁搴︿負4鐨勫熀鏈暟鎹被鍨嬶紙int絳夛級閮戒綅浜庤兘琚?鏁撮櫎鐨? 鍦板潃涓婏紝浠ユ綾繪帹銆傝繖鏍鳳紝涓や釜鏁頒腑闂村氨鍙兘闇瑕佸姞鍏ュ~鍏呭瓧鑺傦紝鎵浠ユ暣涓粨鏋勪綋鐨剆izeof鍊煎氨澧為暱浜嗐?/p> <p>璁╂垜浠氦鎹竴涓婼1涓璫har涓巌nt鐨勪綅緗細</p> <div id="hvzpftn" class="postCode"><font color="#0000ff">struct</font> S2<br>{<br>    <font color="#0000ff">int</font> i;<br>    <font color="#0000ff">char</font> c;<br>}; </div> <p>鐪嬬湅sizeof(S2)鐨勭粨鏋滀負澶氬皯錛屾庝箞榪樻槸8錛熷啀鐪嬬湅鍐呭瓨錛屽師鏉ユ垚鍛榗鍚庨潰浠嶇劧鏈?涓~鍏呭瓧鑺傦紝榪欏張鏄負浠涔堝晩錛熷埆鐫鎬ワ紝涓嬮潰鎬葷粨瑙勫緥銆?/p> <p>瀛楄妭瀵歸綈鐨勭粏鑺傚拰緙栬瘧鍣ㄥ疄鐜扮浉鍏籌紝浣嗕竴鑸岃█錛屾弧瓚充笁涓噯鍒欙細</p> <div id="hvzpftn" class="postConclusion">1) 緇撴瀯浣撳彉閲忕殑棣栧湴鍧鑳藉琚叾鏈瀹藉熀鏈被鍨嬫垚鍛樼殑澶у皬鎵鏁撮櫎錛?br>2) 緇撴瀯浣撴瘡涓垚鍛樼浉瀵逛簬緇撴瀯浣撻鍦板潃鐨勫亸縐婚噺錛坥ffset錛夐兘鏄垚鍛樺ぇ灝忕殑鏁存暟鍊嶏紝濡傛湁闇瑕佺紪璇戝櫒浼氬湪鎴愬憳涔嬮棿鍔犱笂濉厖瀛楄妭錛坕nternal adding錛夛紱<br>3) 緇撴瀯浣撶殑鎬誨ぇ灝忎負緇撴瀯浣撴渶瀹藉熀鏈被鍨嬫垚鍛樺ぇ灝忕殑鏁存暟鍊嶏紝濡傛湁闇瑕佺紪璇戝櫒浼氬湪鏈鏈竴涓垚鍛樹箣鍚庡姞涓婂~鍏呭瓧鑺傦紙trailing padding錛夈?br></div> <p>瀵逛簬涓婇潰鐨勫噯鍒欙紝鏈夊嚑鐐歸渶瑕佽鏄庯細</p> <p>1) 鍓嶉潰涓嶆槸璇寸粨鏋勪綋鎴愬憳鐨勫湴鍧鏄叾澶у皬鐨勬暣鏁板嶏紝鎬庝箞鍙堣鍒板亸縐婚噺浜嗗憿錛熷洜涓烘湁浜嗙1鐐瑰瓨鍦紝鎵浠ユ垜浠氨鍙互鍙冭檻鎴愬憳鐨勫亸縐婚噺錛岃繖鏍鋒濊冭搗鏉ョ畝鍗曘傛兂鎯充負浠涔堛?br>緇撴瀯浣撴煇涓垚鍛樼浉瀵逛簬緇撴瀯浣撻鍦板潃鐨勫亸縐婚噺鍙互閫氳繃瀹弌ffsetof()鏉ヨ幏寰楋紝榪欎釜瀹忎篃鍦╯tddef.h涓畾涔夛紝濡備笅錛?/p> <div id="hvzpftn" class="postCode"><font color="#ff0000">#define</font> offsetof(s,m) (size_t)&(((s *)0)->m) </div> <p>渚嬪錛屾兂瑕佽幏寰桽2涓璫鐨勫亸縐婚噺錛屾柟娉曚負</p> <div id="hvzpftn" class="postCode">size_t pos = offsetof(S2, c); <font color="#008000">// pos絳変簬4</font> </div> <p>2) 鍩烘湰綾誨瀷鏄寚鍓嶉潰鎻愬埌鐨勫儚char銆乻hort銆乮nt銆乫loat銆乨ouble榪欐牱鐨勫唴緗暟鎹被鍨嬶紝榪欓噷鎵璇寸殑“鏁版嵁瀹藉害”灝辨槸鎸囧叾sizeof鐨勫ぇ 灝忋傜敱浜庣粨鏋勪綋鐨勬垚鍛樺彲浠ユ槸澶嶅悎綾誨瀷錛屾瘮濡傚彟澶栦竴涓粨鏋勪綋錛屾墍浠ュ湪瀵繪壘鏈瀹藉熀鏈被鍨嬫垚鍛樻椂錛屽簲褰撳寘鎷鍚堢被鍨嬫垚鍛樼殑瀛愭垚鍛橈紝鑰屼笉鏄妸澶嶅悎鎴愬憳鐪嬫垚鏄竴涓暣 浣撱備絾鍦ㄧ‘瀹氬鍚堢被鍨嬫垚鍛樼殑鍋忕Щ浣嶇疆鏃跺垯鏄皢澶嶅悎綾誨瀷浣滀負鏁翠綋鐪嬪緟銆?/p> <p>榪欓噷鍙欒堪璧鋒潵鏈夌偣鎷楀彛錛屾濊冭搗鏉ヤ篃鏈夌偣鎸犲ご錛岃繕鏄鎴戜滑鐪嬬湅渚嬪瓙鍚э紙鍏蜂綋鏁板間粛浠C6涓轟緥錛屼互鍚庝笉鍐嶈鏄庯級錛?/p> <div id="hvzpftn" class="postCode"><font color="#0000ff">struct</font> S3<br>{<br>    <font color="#0000ff">char</font> c1;<br>    S1 s;<br>    <font color="#0000ff">char</font> c2<br>}; </div> <p>S1鐨勬渶瀹藉熀鏈垚鍛樼殑綾誨瀷涓篿nt錛孲3鍦ㄨ冭檻鏈瀹藉熀鏈被鍨嬫垚鍛樻椂鏄皢S1“鎵撴暎”鐪嬬殑錛屾墍浠3鐨勬渶瀹藉熀鏈被鍨嬩負int錛岃繖鏍鳳紝閫氳繃S3瀹氫箟鐨勫彉閲忥紝鍏跺瓨鍌ㄧ┖闂撮鍦板潃闇瑕佽4鏁撮櫎錛屾暣涓猻izeof(S3)鐨勫間篃搴旇琚?鏁撮櫎銆?/p> <p>c1 鐨勫亸縐婚噺涓?錛宻鐨勫亸縐婚噺鍛紵榪欐椂s鏄竴涓暣浣擄紝瀹冧綔涓虹粨鏋勪綋鍙橀噺涔熸弧瓚沖墠闈笁涓噯鍒欙紝鎵浠ュ叾澶у皬涓?錛屽亸縐婚噺涓?錛宑1涓巗涔嬮棿渚塊渶瑕?涓~鍏呭瓧鑺傦紝鑰? c2涓巗涔嬮棿灝變笉闇瑕佷簡錛屾墍浠2鐨勫亸縐婚噺涓?2錛岀畻涓奵2鐨勫ぇ灝忎負13錛?3鏄笉鑳借4鏁撮櫎鐨勶紝榪欐牱鏈熬榪樺緱琛ヤ笂3涓~鍏呭瓧鑺傘傛渶鍚庡緱鍒皊izeof (S3)鐨勫間負16銆?/p> <p>閫氳繃涓婇潰鐨勫彊榪幫紝鎴戜滑鍙互寰楀埌涓涓叕寮忥細</p> <div id="hvzpftn" class="postConclusion">緇撴瀯浣撶殑澶у皬絳変簬鏈鍚庝竴涓垚鍛樼殑鍋忕Щ閲忓姞涓婂叾澶у皬鍐嶅姞涓婃湯灝劇殑濉厖瀛楄妭鏁扮洰錛屽嵆錛?br>sizeof( struct ) = offsetof( last item ) + sizeof( last item ) + sizeof( trailing padding )</div> <p>鍒? 榪欓噷錛屾湅鍙嬩滑搴旇瀵圭粨鏋勪綋鐨剆izeof鏈変簡涓涓叏鏂扮殑璁よ瘑錛屼絾涓嶈楂樺叴寰楀お鏃╋紝鏈変竴涓獎鍝峴izeof鐨勯噸瑕佸弬閲忚繕鏈鎻愬強錛岄偅渚挎槸緙栬瘧鍣ㄧ殑pack鎸? 浠ゃ傚畠鏄敤鏉ヨ皟鏁寸粨鏋勪綋瀵歸綈鏂瑰紡鐨勶紝涓嶅悓緙栬瘧鍣ㄥ悕縐板拰鐢ㄦ硶鐣ユ湁涓嶅悓錛孷C6涓氳繃#pragma pack瀹炵幇錛屼篃鍙互鐩存帴淇敼/Zp緙栬瘧寮鍏熾?pragma pack鐨勫熀鏈敤娉曚負錛?pragma pack( n )錛宯涓哄瓧鑺傚榻愭暟錛屽叾鍙栧間負1銆?銆?銆?銆?6錛岄粯璁ゆ槸8錛屽鏋滆繖涓兼瘮緇撴瀯浣撴垚鍛樼殑sizeof鍊煎皬錛岄偅涔堣鎴愬憳鐨勫亸縐婚噺搴旇浠ユ鍊間負鍑嗭紝鍗蟲槸璇達紝 緇撴瀯浣撴垚鍛樼殑鍋忕Щ閲忓簲璇ュ彇浜岃呯殑鏈灝忓鹼紝鍏紡濡備笅錛?/p> <div id="hvzpftn" class="postConclusion">offsetof( item ) = min( n, sizeof( item ) )<br></div> <p>鍐嶇湅紺轟緥錛?/p> <div id="hvzpftn" class="postCode"><font color="#ff0000">#pragma</font> pack(<font color="#0000ff">push</font>) <font color="#008000">// 灝嗗綋鍓峱ack璁劇疆鍘嬫爤淇濆瓨</font><br><font color="#ff0000">#pragma</font> pack(2) <font color="#008000">// 蹇呴』鍦ㄧ粨鏋勪綋瀹氫箟涔嬪墠浣跨敤</font><br><font color="#0000ff">struct</font> S1<br>{<br>    <font color="#0000ff">char</font> c;<br>    <font color="#0000ff">int</font> i;<br>};<br><font color="#0000ff">struct</font> S3<br>{<br>    <font color="#0000ff">char</font> c1;<br>    S1 s;<br>    <font color="#0000ff">char</font> c2<br>};<br><font color="#ff0000">#pragma</font> pack(<font color="#0000ff">pop</font>) <font color="#008000">// 鎭㈠鍏堝墠鐨刾ack璁劇疆</font> </div> <p>璁$畻sizeof(S1)鏃訛紝min(2, sizeof(i))鐨勫間負2錛屾墍浠鐨勫亸縐婚噺涓?錛屽姞涓妔izeof(i)絳変簬6錛岃兘澶熻2鏁撮櫎錛屾墍浠ユ暣涓猄1鐨勫ぇ灝忎負6銆?/p> <p>鍚屾牱錛屽浜巗izeof(S3)錛宻鐨勫亸縐婚噺涓?錛宑2鐨勫亸縐婚噺涓?錛屽姞涓妔izeof(c2)絳変簬9錛屼笉鑳借2鏁撮櫎錛屾坊鍔犱竴涓~鍏呭瓧鑺傦紝鎵浠izeof(S3)絳変簬10銆?/p> <p>鐜板湪錛屾湅鍙嬩滑鍙互杞繪澗鐨勫嚭涓鍙f皵浜嗭紝:)</p> <p>榪樻湁涓鐐硅娉ㄦ剰錛?#8220;絀虹粨鏋勪綋”錛堜笉鍚暟鎹垚鍛橈級鐨勫ぇ灝忎笉涓?錛岃屾槸1銆傝瘯鎯充竴涓?#8220;涓嶅崰絀洪棿”鐨勫彉閲忓浣曡鍙栧湴鍧銆佷袱涓笉鍚岀殑“絀虹粨鏋勪綋”鍙橀噺鍙堝浣曞緱浠ュ尯鍒嗗憿錛熶簬鏄紝“絀虹粨鏋勪綋”鍙橀噺涔熷緱琚瓨鍌紝榪欐牱緙栬瘧鍣ㄤ篃灝卞彧鑳戒負鍏跺垎閰嶄竴涓瓧鑺傜殑絀洪棿鐢ㄤ簬鍗犱綅浜嗐傚涓嬶細</p> <div id="hvzpftn" class="postCode"><font color="#0000ff">struct</font> S5 { };<br><font color="#0000ff">sizeof</font>( S5 ); <font color="#008000">// 緇撴灉涓?</font> </div> <p>8. 鍚綅鍩熺粨鏋勪綋鐨剆izeof</p> <p>鍓嶉潰宸茬粡璇磋繃錛屼綅鍩熸垚鍛樹笉鑳藉崟鐙鍙杝izeof鍊鹼紝鎴戜滑榪欓噷瑕佽璁虹殑鏄惈鏈変綅鍩熺殑緇撴瀯浣撶殑sizeof錛屽彧鏄冭檻鍒板叾鐗規畩鎬ц屽皢鍏朵笓闂ㄥ垪浜嗗嚭鏉ャ?/p> <p>C99瑙勫畾int銆乽nsigned int鍜宐ool鍙互浣滀負浣嶅煙綾誨瀷錛屼絾緙栬瘧鍣ㄥ嚑涔庨兘瀵規浣滀簡鎵╁睍錛屽厑璁稿叾瀹冪被鍨嬬被鍨嬬殑瀛樺湪銆?/p> <p>浣跨敤浣嶅煙鐨勪富瑕佺洰鐨勬槸鍘嬬緝瀛樺偍錛屽叾澶ц嚧瑙勫垯涓猴細</p> <div id="hvzpftn" class="postConclusion">1) 濡傛灉鐩擱偦浣嶅煙瀛楁鐨勭被鍨嬬浉鍚岋紝涓斿叾浣嶅涔嬪拰灝忎簬綾誨瀷鐨剆izeof澶у皬錛屽垯鍚庨潰鐨勫瓧孌靛皢绱ч偦鍓嶄竴涓瓧孌靛瓨鍌紝鐩村埌涓嶈兘瀹圭撼涓烘錛?br>2) 濡傛灉鐩擱偦浣嶅煙瀛楁鐨勭被鍨嬬浉鍚岋紝浣嗗叾浣嶅涔嬪拰澶т簬綾誨瀷鐨剆izeof澶у皬錛屽垯鍚庨潰鐨勫瓧孌靛皢浠庢柊鐨勫瓨鍌ㄥ崟鍏冨紑濮嬶紝鍏跺亸縐婚噺涓哄叾綾誨瀷澶у皬鐨勬暣鏁板嶏紱<br>3) 濡傛灉鐩擱偦鐨勪綅鍩熷瓧孌電殑綾誨瀷涓嶅悓錛屽垯鍚勭紪璇戝櫒鐨勫叿浣撳疄鐜版湁宸紓錛孷C6閲囧彇涓嶅帇緙╂柟寮忥紝Dev-C++閲囧彇鍘嬬緝鏂瑰紡錛?br>4) 濡傛灉浣嶅煙瀛楁涔嬮棿絀挎彃鐫闈炰綅鍩熷瓧孌碉紝鍒欎笉榪涜鍘嬬緝錛?br>5) 鏁翠釜緇撴瀯浣撶殑鎬誨ぇ灝忎負鏈瀹藉熀鏈被鍨嬫垚鍛樺ぇ灝忕殑鏁存暟鍊嶃?/div> <p>榪樻槸璁╂垜浠潵鐪嬬湅渚嬪瓙銆?/p> <p>紺轟緥1錛?/p> <div id="hvzpftn" class="postCode"><font color="#0000ff">struct</font> BF1<br>{<br>    <font color="#0000ff">char</font> f1 : 3;<br>    <font color="#0000ff">char</font> f2 : 4;<br>    <font color="#0000ff">char</font> f3 : 5;<br>}; </div> <p>鍏跺唴瀛樺竷灞涓猴細</p> <pre class="postGraph">| f1 | f2 | | f3 | |---------------------------------| | | | | | | | | | | | | | | | |---------------------------------0 3 7 8 13 16 (byte)</pre> <p>浣嶅煙綾誨瀷涓篶har錛岀1涓瓧鑺備粎鑳藉綰充笅f1鍜宖2錛屾墍浠2琚帇緙╁埌絎?涓瓧鑺備腑錛岃宖3鍙兘浠庝笅涓涓瓧鑺傚紑濮嬨傚洜姝izeof(BF1)鐨勭粨鏋滀負2銆?/p> 紺轟緥2錛?br> <div id="hvzpftn" class="postCode"><font color="#0000ff">struct</font> BF2<br>{<br>    <font color="#0000ff">char</font> f1 : 3;<br>    <font color="#0000ff">short</font> f2 : 4;<br>    <font color="#0000ff">char</font> f3 : 5;<br>}; </div> <p>鐢變簬鐩擱偦浣嶅煙綾誨瀷涓嶅悓錛屽湪VC6涓叾sizeof涓?錛屽湪Dev-C++涓負2銆?/p> 紺轟緥3錛?br> <div id="hvzpftn" class="postCode"><font color="#0000ff">struct</font> BF3<br>{<br>    <font color="#0000ff">char</font> f1 : 3;<br>    <font color="#0000ff">char</font> f2;<br>    <font color="#0000ff">char</font> f3 : 5;<br>}; </div> <p>闈炰綅鍩熷瓧孌電┛鎻掑湪鍏朵腑錛屼笉浼氫駭鐢熷帇緙╋紝鍦╒C6鍜孌ev-C++涓緱鍒扮殑澶у皬鍧囦負3銆?/p> <p>9. 鑱斿悎浣撶殑sizeof</p> <p>緇撴瀯浣撳湪鍐呭瓨緇勭粐涓婃槸欏哄簭寮忕殑錛岃仈鍚堜綋鍒欐槸閲嶅彔寮忥紝鍚勬垚鍛樺叡浜竴孌靛唴瀛橈紝鎵浠ユ暣涓仈鍚堜綋鐨剆izeof涔熷氨鏄瘡涓垚鍛榮izeof鐨勬渶澶у箋傜粨鏋勪綋鐨勬垚鍛樹篃鍙互鏄鍚堢被鍨嬶紝榪欓噷錛屽鍚堢被鍨嬫垚鍛樻槸琚綔涓烘暣浣撹冭檻鐨勩?/p> <p>鎵浠ワ紝涓嬮潰渚嬪瓙涓紝U鐨剆izeof鍊肩瓑浜巗izeof(s)銆?/p> <div id="hvzpftn" class="postCode"><font color="#0000ff">union</font> U<br>{<br>    <font color="#0000ff">int</font> i;<br>    <font color="#0000ff">char</font> c;<br>    S1 s;<br>}; </div> </div> <br><img src ="http://m.shnenglu.com/paladino/aggbug/26578.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/paladino/" target="_blank">Gu.paladino</a> 2007-06-18 18:26 <a href="http://m.shnenglu.com/paladino/articles/26578.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瀛++鏃惰娉ㄦ剰鐨?/title><link>http://m.shnenglu.com/paladino/articles/26181.html</link><dc:creator>Gu.paladino</dc:creator><author>Gu.paladino</author><pubDate>Tue, 12 Jun 2007 09:13:00 GMT</pubDate><guid>http://m.shnenglu.com/paladino/articles/26181.html</guid><wfw:comment>http://m.shnenglu.com/paladino/comments/26181.html</wfw:comment><comments>http://m.shnenglu.com/paladino/articles/26181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/paladino/comments/commentRss/26181.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/paladino/services/trackbacks/26181.html</trackback:ping><description><![CDATA[榪欎釜鍐欑殑涓瀹氭槸榪囨潵鐨勪漢鍟婏紝涓嶆敹钘忓涓嶈搗鑷繁錛?br><br>1.鎶奀++褰撴垚涓闂ㄦ柊鐨勮璦瀛︿範錛堝拰C娌″暐鍏崇郴錛佺湡鐨勩傦級錛?br>2.鐪嬨奣hinking In C++銆嬶紝涓嶈鐪嬨奀++鍙樻垚姝葷浉銆嬶紱<br>3.鐪嬨奣he C++ Programming Language銆嬪拰銆奍nside The C++ Object Model銆?涓嶈鍥犱負浠栦滑寰堥毦鑰屾垜浠嚜宸辨槸鍒濆鑰呮墍浠ュ氨涓嶇湅錛?br>4.涓嶈琚玍C銆丅CB銆丅C銆丮C銆乀C絳夎瘝姹囨墍榪鋒儜鈥斺斾粬浠兘鏄泦鎴愬紑鍙戠幆澧冿紝鑰屾垜浠瀛︾殑鏄竴闂ㄨ璦錛?br>5.涓嶈鏀捐繃浠諱綍涓涓湅涓婂幓寰堢畝鍗曠殑灝忕紪紼嬮棶棰樷斺斾粬浠線寰騫朵笉閭d箞綆鍗曪紝鎴栬呭彲浠ュ紩浼稿嚭寰堝鐭ヨ瘑鐐癸紱<br>6.浼氱敤Visual C++錛屽茍涓嶈鏄庝綘浼欳++錛?br>7.瀛lass騫朵笉闅撅紝template銆丼TL銆乬eneric programming涔熶笉榪囧姝も斺旈毦鐨勬槸闀挎湡鍧氭寔瀹炶返鍜屼笉閬椾綑鍔涚殑鍗氳緹や功錛?br>8.濡傛灉涓嶆槸澶╂墠鐨勮瘽錛屾兂瀛︾紪紼嬪氨涓嶈鎯崇帺娓告垙鈥斺斾綘浠ヤ負浣犲仛鍒頒簡錛屽叾瀹炰綘鐨凜++姘村鉤騫舵病鏈夊拰浣犻氬叧鐨勮兘鍔涗竴璧峰彉楂樷斺斿叾瀹炲彲浠ユ椂鍒昏浣忥細瀛++鏄負浜嗙紪娓告垙鐨勶紱<br>9.鐪媀isual C++鐨勪功錛屾槸瀛︿笉浜咰++璇█鐨勶紱<br>10.嫻簛鐨勪漢瀹規槗璇達細XX璇█涓嶈浜嗭紝搴旇瀛Y錛涒斺旀槸浣犺嚜宸變笉琛屼簡鍚э紒錛?br>11.嫻簛鐨勪漢瀹規槗闂細鎴戝埌搴曡瀛︿粈涔堬紱鈥斺斿埆闂紝瀛﹀氨瀵逛簡錛?br>12.嫻簛鐨勪漢瀹規槗闂細XX鏈夐挶閫斿悧錛涒斺斿緩璁綘鍘繪姠閾惰錛?br>13.嫻簛鐨勪漢瀹規槗璇達細鎴戣涓枃鐗堬紒鎴戣嫳鏂囦笉琛岋紒鈥斺斾笉琛岋紵瀛﹀憖錛?br>14.嫻簛鐨勪漢瀹規槗闂細XX鍜孻Y鍝釜濂斤紱鈥斺斿憡璇変綘鍚э紝閮藉ソ鈥斺斿彧瑕佷綘瀛﹀氨琛岋紱<br>15.嫻簛鐨勪漢鍒嗕袱縐嶏細a)鍙鏈涜屼笉瀛︾殑浜猴紱b)鍙鑰屼笉鍧氭寔鐨勪漢錛?br>16.鎶婃椂楂︾殑鎶鏈寕鍦ㄥ槾杈癸紝榪樹笉濡傛妸榪囨椂鐨勬妧鏈鍦ㄥ績閲岋紱<br>17.C++涓嶄粎浠呮槸鏀寔闈㈠悜瀵硅薄鐨勭▼搴忚璁¤璦錛?br>18.瀛︿範緙栫▼鏈濂界殑鏂規硶涔嬩竴灝辨槸闃呰婧愪唬鐮侊紱<br>19.鍦ㄤ換浣曟椂鍒婚兘涓嶈璁や負鑷繁鎵嬩腑鐨勪功宸茬粡瓚沖浜嗭紱<br>20.璇烽槄璇匯奣he Standard C++ Bible銆?涓枃鐗堬細鏍囧噯C++瀹濆吀)錛屾帉鎻++鏍囧噯錛?br>21.鐪嬪緱鎳傜殑涔︼紝璇蜂粩緇嗙湅錛涚湅涓嶆噦鐨勪功錛岃紜潃澶寸毊鐪嬶紱<br>22.鍒寚鏈涚湅絎竴閬嶄功灝辮兘璁頒綇鍜屾帉鎻′粈涔堚斺旇鐪嬬浜岄亶銆佺涓夐亶錛?br>23.璇風湅銆奅ffective C++銆嬪拰銆奙ore Effective C++銆嬩互鍙娿奅xceptional C++銆嬶紱<br>24.涓嶈鍋滅暀鍦ㄩ泦鎴愬紑鍙戠幆澧冪殑鎽囩涓婏紝瑕佸浼氭帶鍒墮泦鎴愬紑鍙戠幆澧冿紝榪樿瀛︿細鐢ㄥ懡浠よ鏂瑰紡澶勭悊紼嬪簭錛?br>25.鍜屽埆浜轟竴璧瘋璁烘湁鎰忎箟鐨凜++鐭ヨ瘑鐐癸紝鑰屼笉鏄簤鍚礨X琛屼笉琛屾垨鑰匶Y涓嶼Z鍝釜濂斤紱<br>26.璇風湅銆婄▼搴忚璁″疄璺點嬶紝騫朵弗鏍肩殑鎸夌収鍏惰姹傚幓鍋氾紱<br>27.涓嶈鍥犱負C鍜孋++涓湁涓浜涜娉曞拰鍏抽敭瀛楃湅涓婂幓鐩稿悓錛屽氨璁や負瀹冧滑鐨勬剰涔夊拰浣滅敤瀹屽叏涓鏍鳳紱<br>28.C++緇濅笉鏄墍璋撶殑C鐨?#8220;鎵╁厖”鈥斺斿鏋淐++涓寮濮嬪氨璧峰悕鍙玓璇█錛屼綘涓瀹氫笉浼氭妸C鍜孼璇█鑱旂郴寰楅偅涔堢揣瀵嗭紱<br>29.璇蜂笉瑕佽涓哄榪嘪X璇█鍐嶆敼瀛++浼氭湁浠涔堥棶棰樷斺斾綘鍙笉榪囧張鍦ㄥ涓闂ㄥ叏鏂扮殑璇█鑰屽凡錛?br>30.璇誨畬浜嗐奍nside The C++ Object Model銆嬩互鍚庡啀鏉ヨ瀹氳嚜宸辨槸涓嶆槸宸茬粡瀛︿細浜咰++錛?br>31.瀛︿範緙栫▼鐨勭璇鏄細緙栫▼錛岀紪紼嬶紝鍐嶇紪紼嬶紱<br>32.璇風暀鎰忎笅鍒椾功綾嶏細銆奀++闈㈠悜瀵硅薄楂樻晥緙栫▼錛圕++ Effective Object-Oriented Software Construction錛夈嬨婇潰鍚戝璞¤蔣浠舵瀯閫?Object-Oriented Software Construction)銆嬨婅璁℃ā寮忥紙Design Patterns錛夈嬨奣he Art of Computer Programming銆嬶紱<br>33.璁頒綇錛氶潰鍚戝璞℃妧鏈笉鍙槸C++涓撴湁鐨勶紱<br>34.璇鋒妸涔︿笂鐨勭▼搴忎緥瀛愪翰鎵嬭緭鍏ュ埌鐢佃剳涓婂疄璺碉紝鍗充嬌閰嶅鍏夌洏涓湁婧愪唬鐮侊紱<br>35.鎶婂湪涔︿腑鐪嬪埌鐨勬湁鎰忎箟鐨勪緥瀛愭墿鍏咃紱<br>36.璇烽噸瑙咰++涓殑寮傚父澶勭悊鎶鏈紝騫跺皢鍏跺垏瀹炵殑榪愮敤鍒拌嚜宸辯殑紼嬪簭涓紱<br>37.緇忓父鍥為【鑷繁浠ュ墠鍐欒繃鐨勭▼搴忥紝騫跺皾璇曢噸鍐欙紝鎶婅嚜宸卞鍒扮殑鏂扮煡璇嗚繍鐢ㄨ繘鍘伙紱<br>38.涓嶈婕忔帀涔︿腑浠諱綍涓涓粌涔犻鈥斺旇鍏ㄩ儴鍋氬畬騫惰褰曚笅瑙i鎬濊礬錛?br>39.C++璇█鍜孋++鐨勯泦鎴愬紑鍙戠幆澧冭鍚屾椂瀛︿範鍜屾帉鎻★紱<br>40.鏃㈢劧鍐沖畾浜嗗C++,灝辮鍧氭寔瀛︿笅鍘伙紝鍥犱負瀛︿範紼嬪簭璁捐璇█鐨勭洰鐨勬槸鎺屾彙紼嬪簭璁捐鎶鏈紝鑰岀▼搴忚璁℃妧鏈槸璺ㄨ璦鐨勶紱<br>41.灝辮C++璇█鐨勫悇縐嶅鉤鍙板拰寮鍙戠幆澧冨幓嬋鐑堢殑绔炰簤鍚э紝鎴戜滑瑕佷互瀛︿範C++璇█鏈韓涓轟富錛?br>42.褰撲綘鍐機++紼嬪簭鍐欏埌涓鍗婂嵈鍙戠幇鑷繁鐢ㄧ殑鏂規硶寰堟嫏鍔f椂錛岃涓嶈椹笂鍋滄墜錛涜灝藉揩灝嗕綑涓嬬殑閮ㄥ垎綺楃暐鐨勫畬鎴愪互淇濊瘉榪欎釜璁捐鐨勫畬鏁存э紝鐒跺悗鍒嗘瀽鑷繁鐨勯敊璇茍閲嶆柊璁捐鍜岀紪鍐欙紙鍙傝43錛夛紱<br>43.鍒績鎬ワ紝璁捐C++鐨刢lass紜疄涓嶅鏄擄紱鑷繁紼嬪簭涓殑class鍜岃嚜宸辯殑class璁捐姘村鉤鏄湪涓嶆柇鐨勭紪紼嬪疄璺典腑瀹屽杽鍜屽彂灞曠殑錛?br>44.鍐充笉瑕佸洜涓虹▼搴?#8220;寰堝皬”灝變笉閬靛驚鏌愪簺浣犱笉鐔熺粌鐨勮鍒欌斺斿ソ涔犳儻鏄煿鍏誨嚭鏉ョ殑錛岃屼笉鏄竴嬈¤浣忕殑錛?br>45.姣忓鍒頒竴涓狢++闅劇偣鐨勬椂鍊欙紝灝濊瘯鐫瀵瑰埆浜鴻瑙h繖涓煡璇嗙偣騫惰浠栫悊瑙b斺斾綘鑳借娓呮鎵嶈鏄庝綘鐪熺殑鐞嗚В浜嗭紱<br>46.璁板綍涓嬪湪鍜屽埆浜轟氦嫻佹椂鍙戠幇鐨勮嚜宸卞拷瑙嗘垨涓嶇悊瑙g殑鐭ヨ瘑鐐癸紱<br>47.璇蜂笉鏂殑瀵硅嚜宸卞啓鐨勭▼搴忔彁鍑烘洿楂樼殑瑕佹眰,鍝曚綘鐨勭▼搴忕増鏈彿浼氬彉鎴怴ersion 100.XX錛?br>48.淇濆瓨濂戒綘鍐欒繃鐨勬墍鏈夌殑紼嬪簭鈥斺旈偅鏄綘鏈濂界殑縐瘡涔嬩竴錛?br>49.璇蜂笉瑕佸仛嫻簛鐨勪漢錛?br>50.璇風儹鐖盋++! <br><img src ="http://m.shnenglu.com/paladino/aggbug/26181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/paladino/" target="_blank">Gu.paladino</a> 2007-06-12 17:13 <a href="http://m.shnenglu.com/paladino/articles/26181.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>C++璧勬簮瀵煎紩http://m.shnenglu.com/paladino/articles/25664.htmlGu.paladinoGu.paladinoWed, 06 Jun 2007 08:44:00 GMThttp://m.shnenglu.com/paladino/articles/25664.html榪欐枃绔犲お寮轟簡錛屾垜涓瀹氳鏀惰棌錛屽涓嶈搗鑷繁錛?/span>

--------------------------------------------------------------------------------

銆銆1錛屽墠璦

銆銆鏃犳暟嬈″惉鍒?#8220;鎴戣寮濮嬪涔燙++!”鐨勫憪鍠婏紝鏃犳暟嬈″惉鍒?#8220;C++澶鏉備簡錛屾垜鐪熺殑
瀛︿笉浼?#8221;鐨勬棤濂堛係tan Lippman鍏堢敓鏇懼湪銆奀++ Primer銆嬩竴涔︿腑鎸囧嚭“C++鏄渶涓洪毦
瀛︾殑楂樼駭紼嬪簭璁捐璇█涔嬩竴”錛屼漢浠父灝?#8220;涔嬩竴”鍘繪帀浠ヨ〃杈捐嚜宸卞C++鐨勬暚鐣忋傝瘹
鐒訛紝C++紼嬪簭璁捐璇█瀵逛簬瀛︿範鑰呯殑紜湁寰堝闅句互閫捐秺鐨勯縛娌燂紝浣撶郴緇撴瀯鐨勫簽澶э紝搴?br>鎺ヤ笉鏆囧茍涓嶆柇鎵╁厖鐨勭壒鎬?#8230;…闄ゆ涔嬪錛屽弬鑰冭祫鏂欎箣澶氫笌鍐楁潅浣垮畠鐨勫涔犺呮湜鑰屽嵈
姝ワ紝嬈叉眰娣卞叆鑰呰嫤涓嶅牚璦銆傚笇鏈涜繖涓浠戒笉瀹屽叏瀵煎紩鑳藉鎴愪負鎮–++瀛︿範涔嬭礬涓婄殑寮曡礬
鐏?br>
銆銆鎾板啓鏈枃鐨勫垵琛峰茍涓嶆墦綆楀甫棰嗗ぇ瀹朵綋楠屽彜鑰佺殑C++鍘嗗彶錛屽鏋滀綘鎯充簡瑙++鐨勫巻
鍙蹭笌鍏跺墠鏈熷彂灞曚腑璇稿鎶鏈殑婕斿彉錛屼綘搴斿綋鍘誨弬鑰傿jarne鐨勩奣he Design and Evo
lution of C++銆嬨傚綋鐒朵篃涓嶆墦綆楃粰澶у涓涓棤鎵涓嶅寘鐨勫疂鍏革紙騫墮潪涓嶆兂錛氬叾涓鏄洜
姘村鉤鏈夐檺錛屽叾浜屾棤濂圕++涔嬪崥澶х簿娣憋級錛屾墍緇欏嚭鐨勪粎浠呮槸涓浜涙垜浠涓哄浜庢兂瀛︿範C
++鐨勫箍澶ц鑰呮潵璇存渶閲嶈騫朵笖瑙︽墜鍙強鐨勫紑鍙戜笌瀛︿範璧勬簮銆?br>
銆銆鏈枃浠嬬粛騫跺垎鏋愪簡涓浜涚紪璇戝櫒錛屽紑鍙戠幆澧冿紝搴擄紝灝戦噺鐨勪功綾嶄互鍙婂弬鑰冪綉绔欙紝騫?br>涓斿敖鍙兘灝濊瘯鐫緇欏嚭涓涓埄鐢ㄨ繖浜涜祫婧愮殑瀵煎紩錛屾湜瀵瑰鍚屾垜浠竴鏍風殑鍒濆鑰呰兘澶熸湁
鎵瑁ㄧ泭銆?br>
------------------------------------------------------------------------
--------

銆銆2錛岀紪璇戝櫒

銆銆鍦–++涔嬪鐨勪換浣曡璦涓紝緙栬瘧鍣ㄩ兘浠庢潵娌℃湁鍙楀埌榪囧姝や箣閲嶈銆傚洜涓篊++鏄竴
闂ㄧ浉褰撳鏉傜殑璇█錛屾墍浠ョ紪璇戝櫒涔熼毦浜庢瀯寤恒傜洿鍒版渶榪戞垜浠墠寮濮嬭兘澶熶嬌鐢ㄤ笂瀹屽叏
絎﹀悎C++鏍囧噯鐨勭紪璇戝櫒錛堝摝錛屼綘鍙兘浼氳矗鎬偅浜涚紪璇戝櫒鍘傚晢涓嶈兘灝芥棭鐨勬彁渚涚鍚堟爣鍑?br>鐨勭紪璇戝櫒錛岃繖鍙兘鎬粬浠悇鑷淮緋葷潃鑷韓鐨勪竴濂楀埆浜轟笉鎰挎帴鍙楃殑鏍囧噯錛夈備粈涔堬紵浣?br>璇磋繖鏃犲叧绱ц錛熷摝錛屼笉錛屼綘鎵闇瑕佺殑鏄拰鏍囧噯鍖朇++楂樺害鍏煎鐨勭紪璇戠幆澧冦傞暱榪滄潵鐪?br>錛屽彧鏈夎繖鏍風殑緙栬瘧鍣ㄥC++寮鍙戜漢鍛樻潵璇存墠鏄渶鏈夋剰涔夌殑宸ュ叿錛屽挨鍏舵槸瀵逛簬紼嬪簭璁捐
璇█鐨勫涔犺呫備竴鑷蟲ц浠g爜鍏峰鍙Щ妞嶆э紝騫惰涓闂ㄨ璦鍙婂叾搴撶殑搴旂敤鏇翠負騫挎硾
銆傚棷錛屾槸鐨勶紝鎴戜滑榪欓噷鍙墦綆椾粙緇嶄竴浜涘叕璁ょ殑浼樼緙栬瘧鍣ㄣ?br>
銆銆2.1 Borland C++

銆銆榪欎釜鏄疊orland C++ Builder鍜孊orland C++ Builder X榪欎袱縐嶅紑鍙戠幆澧冪殑鍚庡彴
緙栬瘧鍣ㄣ傦紙鍝︼紝鎴戜箣鎵浠ュ皢涔嬪垎涓轟袱縐嶅紑鍙戠幆澧冧綘搴斿綋鑳芥槑鐧戒負浠涔堬紝姝eDelphi
7鍒癉elphi8鐨勮漿鍙橈紝鏄潻鍛芥х殑涓や唬銆傦級Borland C++鐢辮佺墝寮鍙戝伐鍏峰巶鍟咮orland
鍊懼姏鎵撻犮傝鍏徃鐨勭紪璇戝櫒绱犱互閫熷害蹇紝絀洪棿鏁堢巼楂樿憲縐幫紝Borland C++ 緋誨垪緙栬瘧
鍣ㄧ鎵夸簡榪欎釜浼犵粺錛屽睘浜庨潪甯鎬紭璐ㄧ殑緙栬瘧鍣ㄣ傛爣鍑嗗寲鏂歸潰鏃╁湪5.5鐗堟湰鐨勭紪璇戝櫒涓
鏍囧噯鍖朇++鐨勫吋瀹瑰氨杈懼埌浜?2.73%銆傜洰鍓嶆渶鏂扮増鏈槸Borland C++ Builder X涓殑6.
0鐗堟湰錛屽畼鏂圭О100%絎﹀悎ANSI/ISO鐨凜++鏍囧噯浠ュ強C99鏍囧噯銆傚棷…榪欐鏄垜鍓嶉潰鎵鎸囩殑
“瀹屽叏絎﹀悎C++鏍囧噯鐨勭紪璇戝櫒”銆?br>
銆銆2.2 Visual C++

銆銆榪欎釜姝f槸鎴戜滑鐔熺煡鐨刅isual Studio 鍜?Visual Studio.net 2002, 2003浠ュ強2
005 Whidbey涓甫鐨凜++緙栬瘧鍣ㄣ傜敱Microsoft鍏徃鐮斿埗銆傚湪Visual Studio 6.0涓紝
鍥犱負緙栬瘧鍣ㄦ湁澶鍦版柟涓嶈兘涓庡悗鏉ュ嚭鐜扮殑C++鏍囧噯鐩稿惢鍚堣岄ケ鍙楁壒璇勶紙鎯蟲兂浣犲湪浣跨敤
STL鐨勬椂鍊欑紪璇戞椂鎶ュ嚭鐨勯偅浜涗護浜哄帉鎭剁殑error鍜寃arning鍚э級銆俈C++6.0瀵規爣鍑嗗寲C+
+鐨勫吋瀹瑰彧鏈?3.43%銆備絾鏄殢鐫C++緙栬瘧鍣ㄨ璁″ぇ甯圫tanley Lippman浠ュ強璇稿C++紺?br>緹よ揪浜虹殑鍔犵洘錛屽湪Visual Studio.NET 2003涓紝Visual C++緙栬瘧鍣ㄥ凡緇忔垚涓轟竴涓潪
甯告垚鐔熷彲闈犵殑C++緙栬瘧鍣ㄤ簡銆侱r.Dobb's Journal鐨勮瘎嫻嬫樉紺篤isual C++7.1瀵規爣鍑咰
++鐨勫吋瀹規ч珮杈?8.22%錛屼竴搴︽垚涓篊BX涔嬪墠鍏煎鎬ф渶濂界殑緙栬瘧鍣ㄣ傜粨鍚堝己澶х殑Visua
l Studio.NET寮鍙戠幆澧冿紝鏄竴涓潪甯鎬笉閿欑殑閫夋嫨銆傝嚦浜嶹hidbey鏃朵唬鐨刅isual C++,
浼間箮寰蔣鎵鏈鍏蟲敞鐨勬槸C++/CLI……鎴戜滑涓嶆兂璇勮寰蔣涓嬩竴浠g殑C++緙栬瘧鍣ㄥ鏍囧噯鍖?br>鍏煎濡備綍錛屼絾浠栫‘瀹炶秺鏉ヨ秺閫傚悎.NET (鍏跺疄浣犲拰鎴戠殑鎰熻鍙兘鏄竴鏍風殑錛屽井杞笉搴?br>褰撴妸鏍囧噯C++榪欏潡鑲ヨ倝涓㈢粰Borland,鐒惰屽井杞彲鑳藉茍涓嶈繖鏍瘋涓?銆?br>
銆銆2.3 GNU C++

銆銆钁楀悕鐨勫紑婧怌++緙栬瘧鍣ㄣ傛槸綾籙nix鎿嶄綔緋葷粺涓嬬紪鍐機++紼嬪簭鐨勯閫夈傜壒鐐規槸鏈夐潪
甯稿ソ鐨勭Щ妞嶆э紝浣犲彲浠ュ湪闈炲父騫挎硾鐨勫鉤鍙頒笂浣跨敤瀹冿紝鍚屾椂涔熸槸緙栧啓璺ㄥ鉤鍙幫紝宓屽叆寮?br>紼嬪簭寰堝ソ鐨勯夋嫨銆傚彟澶栧湪絎﹀悎鏍囧噯榪欎釜鏂歸潰涓鐩撮兘闈炲父濂斤紝GCC3.3澶ф鑳藉杈懼埌96
.15%銆備絾鏄敱浜庡叾璺ㄥ鉤鍙扮殑鐗規э紝鍦ㄤ唬鐮佸昂瀵擱熷害絳変紭鍖栦笂鐣ュ井宸竴鐐廣?br>
銆銆鍩轟簬GNU C++鐨勭紪璇戝櫒鏈夊緢澶氾紝姣斿錛?br>
銆銆(1) Mingw

銆銆http://www.mingw.org/

銆銆GCC鐨勪竴涓猈indows鐨勭Щ妞嶇増鏈紙Dev-C++鐨勫悗鍙幫級

銆銆(2) Cygwin

銆銆http://sources.redhat.com/cygwin/

銆銆GCC鐨勫彟澶栦竴涓猈indows縐繪鐗堟湰鏄疌ygwin鐨勪竴閮ㄥ垎錛孋ygwin鏄疻indows涓嬬殑涓涓?br>Unix浠跨湡鐜銆備弗鏍肩殑璇存槸妯℃嫙GNU鐨勭幆澧冿紝榪欎篃灝辨槸"Gnu's Not Unix"瑕佽〃杈劇殑鎰?br>鎬濓紝鍣紝鎵繙浜嗭紝榪欏茍涓嶆槸鎴戜滑鍦ㄨ繖閲屽叧蹇冪殑瀹炶川鍐呭銆?br>
銆銆(3) Djgpp

銆銆http://www.delorie.com/djgpp/

銆銆榪欐槸GCC鐨凞OS縐繪鐗堟湰銆?br>
銆銆(4) RSXNT

銆銆http://www.mathematik.uni-bielefeld.de/~rainer/

銆銆榪欐槸GCC鐨凞OS鍜學indows縐繪鐗堟湰銆?br>
銆銆(5) Intel C++

銆銆钁楀悕CPU鍒墮犲巶鍟咺ntel鍑哄搧鐨勭紪璇戝櫒錛孲pecial Design for Intel x86錛佸浜?br>Intel x86緇撴瀯鐨凜PU緇忚繃鐗瑰埆鐨勪紭鍖栥傚湪鏈変簺搴旂敤鎯呭喌涓嬶紝鐗瑰埆鏄暟鍊艱綆楃瓑楂樻?br>鑳藉簲鐢紝浠呬粎閲囩敤Intel鐨勭紪璇戝櫒緙栬瘧灝辮兘澶у箙搴︾殑鎻愰珮鎬ц兘銆?br>
銆銆(6) Digital Mars C++

銆銆緗戠粶涓婃彁渚涘厤璐逛笅杞斤紝Zortech/Symantec C++鐨勭戶鎵胯咃紝鍏跺墠韜湪褰撳勾鎯ㄧ儓鐨?br>C++鍥涘浗鎴樹腑涔熸槸涓昏涔嬩竴銆?br>
------------------------------------------------------------------------
--------

銆銆3錛屽紑鍙戠幆澧?br>
銆銆寮鍙戠幆澧冨浜庣▼搴忓憳鐨勪綔鐢ㄤ笉璦鑰屽柣銆傞夋嫨鑷繁鏈濆鐩稿鐨勭幆澧冧篃涓嶆槸瀹規槗鐨?br>浜嬫儏錛岀壒鍒槸鍦↖DE濡傛涓板瘜鐨勬儏鍐典笅銆備笅闈㈠氨鏄垜浠帹鑽愮殑涓浜涘父瑙佺殑C++寮鍙戠幆
澧冿紝騫舵病鏈夊寘鎷竴浜涘皬鍨嬬殑錛岀綍瑙佺殑IDE銆傚叾涓換浣曚竴嬈鵑兘鏄姛鑳戒赴瀵岋紝鍙互鐢ㄤ綔鏃?br>甯稿紑鍙戜嬌鐢ㄧ殑銆傚浜庝笉鍚屽眰闈㈢殑寮鍙戣咃紝璇峰弬瑙佸唴鏂囧叧浜庨傜敤瀵硅薄鐨勬弿榪般?br>
銆銆3.1 Visual Studio 6.0

銆銆榪欎釜铏界劧鏄疢icrosoft鍏徃鐨勮佺増鏈殑寮鍙戠幆澧冿紝浣嗘槸閴翠簬鍏跺悗緇х増鏈琕isual
Studio.NET鐨勫簽澶ц韓韜紝浠ュ強鍒濆鑰呭茍涓嶉偅涔堥珮鐨勫姛鑳借姹傦紝鎵浠ユ帹鑽愯繖涓紑鍙戠幆
澧冪粰C++鐨勫垵瀛﹁咃紝渚涘叾瀛︿範C++鐨勬渶鍩烘湰鐨勯儴鍒嗭紝姣斿C鐨勯偅閮ㄥ垎瀛愰泦錛屽綋鐒朵綘鍒寚
鏈涗粬鑳藉鏀寔鏈鏂扮殑C99鏍囧噯銆傚湪鏃ュ父鐨勫紑鍙戜腑錛屼粛鐒舵湁寰堝鍏徃浣跨敤榪欎釜緇忓吀紼沖畾
鐨勭幆澧冿紝姣斿絎旇呭氨鐪嬫浘浜茶鏈変簺鍏徃灝嗗叾緙栬瘧鍣ㄦ浛鎹負GCC鍋氭墜鏈哄紑鍙戜箣鐢ㄣ?br>
銆銆3.2 Visual Studio.NET 2003

銆銆浣滀負Microsoft鍏徃瀹樻柟姝e紡鍙戝竷鐨勬渶鏂扮増鏈紑鍙戠幆澧冿紝鍏朵腑鏈夊お澶氭縺鍔ㄤ漢蹇冪殑
鍔熻兘銆傜粨鍚堝叾鏈鏂扮殑C++緙栬瘧鍣ㄣ傚浜庢満鍣ㄩ厤緗瘮杈冨ソ鐨勫紑鍙戜漢鍛樻潵璇達紝浣跨敤榪欎釜寮
鍙戠幆澧冨皢鑳芥弧瓚沖叾澶ч儴鍒嗙殑瑕佹眰銆傝繖閲屼笉鎵撶畻鍗曠嫭璇碫isual Studio Whidbey,铏界劧
Visual Studio .NET 2005 - Whidbey紺懼尯棰勮鐗堝凡緇忔帹鍑猴紝浣嗘殏涓嶆槸寰堢ǔ瀹氾紝璇昏?br>鍙互浜茶韓鍘諱綋楠屻?br>
銆銆3.3 Borland C++ Builder 6

銆銆榪欎釜騫朵笉鏄疊orland鐨凜++寮鍙戠幆澧冪殑鏈鏂扮増鏈傞夋嫨瀹冪殑鍘熷洜鏄畠涓嶆槸鐢↗ava
鍐欑殑IDE錛岄熷害姣旇緝蹇傚畠鏈変竴涓緢瀹屽杽鐨凣UI紿椾綋璁捐鍣紝鍜孌elphi鍏辯敤涓涓猇CL銆?br>鐢變簬榪欎簺鐗圭偣錛屾瘮杈冮傚悎鍒濆鑰呬笂鎵嬨備絾鏄敱浜庡叾GUI鐨勪腑蹇冧綅緗紝鍙兘涓嶅埄浜庡浜?br>C++璇█鐨勫涔犮傝屼笖鍏朵負浜嗘敮鎸乂CL榪欎釜Object Pascal鍐欑殑搴撲篃瀵笴++榪涜浜嗕竴浜?br>縐佹湁鐨勬墿鍏呫備嬌寰椾漢浠湁涓涓笉寰椾笉鎺ュ彈鐨勪簨瀹烇細“Borland C++ Builder 6鐨勯珮鎵?br>鍑犱箮閮芥槸Delphi楂樻墜”銆?br>
銆銆3.4 Borland C++ Builder X

銆銆姝e鍓嶆枃鎵榪幫紝铏界劧鐗堟湰鍙蜂笂鍜屽墠闈㈤偅涓狪DE闈炲父鐩歌薄錛屼絾鏄叾瀹炲畠浠槸瀹屽叏涓?br>鍚岀殑涓や釜闆嗘垚寮鍙戠幆澧冦侰++Builder鏇村鐨勬槸涓涓拰Delphi鍚屾鐨凜++鐗堟湰鐨勫紑鍙戠幆
澧冿紝C++BuilderX鍒欐槸瀹屽叏浠嶤++鐨勮搴︽濊冨緱鍑虹殑涓涓姛鑳戒赴瀵岀殑IDE銆傚叾鏈澶х殑鐗?br>鐐規槸璺ㄥ鉤鍙幫紝璺ㄧ紪璇戝櫒錛屽縐岶ramework鐨勯泦鎴愶紝騫朵笖鏈変竴涓猈xWindows涓哄熀紜鐨凣U
I璁捐鍣ㄣ傚挨鍏舵槸閲囩敤浜嗙函C++鏉ラ噸鍐欎簡鏁翠釜Framework,鎽掑純浜嗕互鍓嶄護浜烘棤濂堢殑鐗堟湰
銆傚浜嶤++鐨勫紑鍙戞潵璇達紝浠庣紪璇戝櫒錛屽埌搴擄紝鍒板姛鑳介泦鎴愰兘鏄潪甯哥悊鎯崇殑銆傚彲浠ラ瑙侊紝
Borland C++ Builder X 2.0寰堝煎緱C++鐖卞ソ鑰呮湡寰呫傚敮涓浠や漢闅懼牚涔嬪鏄綔涓轟竴涓?br>C++鐨勫紑鍙戝伐鍏鳳紝鍏禝DE鏄敤Java鍐欑殑錛屽湪閰嶇疆涓嶅鐞嗘兂鐨勬満鍣ㄤ笂璇鋒厧閲嶈冭檻鍐嶅畨瑁?br>銆?br>
銆銆3.5 Emacs + GCC

銆銆鍓嶉潰璁茬殑澶ч儴鍒嗘槸Windows鐜涓嬬殑闆嗘垚寮鍙戠幆澧冦侺inux涓婄殑寮鍙戣呮洿鍊懼悜浜?br>浣跨敤Emacs鏉ョ紪杈慍++鐨勬枃浠訛紝鐢∕akefile鏉ュ懡浠CC鍋氱紪璇戙傝櫧鐒剁湅涓婂幓姣旇緝鏉炬暎錛?br>浣嗘槸榪欎簺涓滆タ緇煎悎璧鋒潵榪樻槸涓涓紑0鍙戠幆澧冦傚鏋滀綘鑳藉濞寸啛鐨勪嬌鐢ㄨ繖鏍風殑鐜鍐欑▼
搴忥紝浣犵殑姘村鉤搴旇瓚沖鎸囧鎴戜滑鏉ュ啓榪欑瘒闄嬫枃浜嗐?br>
銆銆3.6 Dev C++

銆銆GCC鏄竴涓緢濂界殑緙栬瘧鍣ㄣ傚湪Windows涓婄殑C++緙栬瘧鍣ㄤ竴鐩村拰鏍囧噯鏈夌潃涓孌佃窛紱葷殑
鏃跺欙紝GCC灝辨槸涓涓Windows涓嬪紑鍙戣呮祦鍙f按鐨勭紪璇戝櫒銆侱ev-C++灝辨槸鑳藉璁〨CC璺?br>鍦╓indows涓嬬殑宸ュ叿錛屼綔涓洪泦鎴愬紑鍙戠幆澧冿紝榪樻彁渚涗簡鍚屼笓涓欼DE鐩稿緹庣殑璇硶楂樹寒錛?br>浠g爜鎻愮ず錛岃皟璇曠瓑鍔熻兘銆傜敱浜庝嬌鐢―elphi寮鍙戯紝鍗犵敤鍐呭瓨灝戯紝閫熷害寰堝揩錛屾瘮杈冮傚悎
杞婚噺綰х殑瀛︿範鍜屼嬌鐢ㄣ?br>
銆銆3.7 Eclipse + CDT

銆銆Eclipse鍙槸榪戞潵澶у悕榧庨紟鐨勫紑鍙戝伐鍏楓傛渶鏂頒竴鏈熺殑Jolt澶у灝遍緇欎簡榪欎釜鏉板嚭
鐨勭鐗┿傝鍏剁濂囨槸鍥犱負錛屽畠鏈韓鏄敤Java鍐欑殑錛屼絾鏄嫢鏈夋瘮涓鑸琂ava鍐欑殑紼嬪簭蹇?br>寰楀鐨勯熷害銆傝屼笖鍥犱負鍏跺熀浜庢彃浠剁粍瑁呬竴鍒囩殑鍘熷垯錛屼嬌寰楄兘澶熸湁CDT榪欐牱鐨勬彃浠舵妸E
clipse鍙樻垚涓涓狢/C++鐨勫紑鍙戠幆澧冦傚鏋滀綘涓鐩寸敤Eclipse鍐橨ava鐨勭▼搴忥紝涓嶅Θ鐢ㄥ畠
浣撻獙涓涓婥++寮鍙戠殑涔愯叮銆?br>
------------------------------------------------------------------------
--------

銆銆4錛屽伐鍏?br>
銆銆C++鐨勮緟鍔╁伐鍏風箒澶氾紝鎴戜滑鍒嗛棬鍒被鐨勪負澶у浣滀粙緇嶏細

銆銆4.1 鏂囨。綾?br>
銆銆(1) Doxygen

銆銆鍙傝冪珯鐐癸細http://www.doxygen.org

銆銆Doxygen鏄竴縐嶉傚悎C椋庢牸璇█錛堝C++銆丆銆両DL銆丣ava鐢氳嚦鍖呮嫭C#鍜孭HP錛夌殑銆?br>寮鏀炬簮鐮佺殑銆佸熀浜庡懡浠よ鐨勬枃妗d駭鐢熷櫒銆?br>
銆銆(2) C++2HTML

銆銆鍙傝冪珯鐐癸細http://www.bedaux.net/cpp2html/

銆銆鎶奀++浠g爜鍙樻垚璇硶楂樹寒鐨凥TML

銆銆(3) CodeColorizer

銆銆鍙傝冪珯鐐癸細http://www.chami.com/colorizer/

銆銆瀹冭兘鎶婂ソ鍑犵璇█鐨勬簮浠g爜鐫鑹蹭負HTML

銆銆(4) Doc-O-Matic

銆銆鍙傝冪珯鐐癸細http://www.doc-o-matic.com/

銆銆Doc-O_Matic涓轟綘鐨凜/C++錛孋++.net錛孌elphi/Pascal, VB.NET錛孋#鍜孞ava紼嬪簭
鎴栬呯粍浠朵駭鐢熷噯紜殑鏂囨。銆侱oc-O-Matic浣跨敤婧愪唬鐮佷腑鐨勭鍙峰拰娉ㄩ噴浠ュ強澶栭儴鐨勬枃妗?br>鏂囦歡鍒涘緩涓庢祦琛岀殑鏂囨。鏍峰紡涓鑷寸殑鏂囨。銆?br>
銆銆(5) DocVizor

銆銆鍙傝冪珯鐐癸細http://www.ucancode.net/Products/DocBuilder/Features.htm

銆銆DocVizor婊¤凍浜嗛潰鍚戝璞¤蔣浠跺紑鍙戣呯殑鍩烘湰瑕佹眰鈥斺斿畠璁╂垜浠兘澶熺湅鍒癈++宸ョ▼
涓殑綾誨眰嬈$粨鏋勩侱ocVizor蹇熷湴浜х敓瀹屾暣鍙緵鎵撳嵃鐨勭被灞傛緇撴瀯鍥撅紝鍖呮嫭浠庣涓?br>鏂瑰簱涓潵鐨勯偅浜涚被錛岄櫎姝や箣澶朌ocVizor榪樿兘浠庣被淇℃伅涓駭鐢烪TML鏂囦歡銆?br>
銆銆(6) SourcePublisher C++

銆銆鍙傝冪珯鐐癸細http://www.scitools.com/sourcepublisher_c.html

銆銆緇欐簮浠g爜浜х敓鎻愪緵蹇熺洿瑙傜殑HTML鎶ヨ〃錛屽寘鎷唬鐮侊紝綾誨眰嬈$粨鏋勶紝璋冪敤鍜岃璋?br>鐢ㄦ爲錛屽寘鍚拰琚寘鍚爲銆傛敮鎸佸縐嶆搷浣滅郴緇熴?br>
銆銆(7) Understand

銆銆鍙傝冪珯鐐癸細http://www.scitools.com/ucpp.html

銆銆鍒嗘瀽浠諱綍瑙勬ā鐨凜鎴栬匔++宸ョ▼錛屽府鍔╂垜浠洿濂界殑鐞嗚В浠ュ強緙栧啓鏂囨。銆?br>
銆銆4.2 浠g爜綾?br>
銆銆(1) CC-Rider

銆銆鍙傝冪珯鐐癸細http://www.cc-rider.com

銆銆CC-Rider鏄敤浜嶤/C++紼嬪簭寮哄ぇ鐨勪唬鐮佸彲瑙嗗寲宸ュ叿錛岄氳繃浜や簰寮忔祻瑙堛佺紪杈戝強鑷?br>鍔ㄦ枃浠舵潵淇冭繘紼嬪簭鐨勭淮鎸佸拰鍙戝睍銆?br>
銆銆(2) CodeInspect

銆銆鍙傝冪珯鐐癸細http://www.yokasoft.com/

銆銆涓縐嶆柊鐨凜/C++浠g爜鍒嗘瀽宸ュ叿銆傚畠媯鏌ユ垜浠殑婧愪唬鐮佹壘鍑洪潪鏍囧噯鐨勶紝鍙兘鐨勶紝浠?br>鍙婃櫘閫氱殑閿欒浠g爜銆?br>
銆銆(3) CodeWizard

銆銆鍙傝冪珯鐐癸細http://www.parasoft.com

銆銆鍏堣繘鐨凜/C++婧愪唬鐮佸垎鏋愬伐鍏鳳紝浣跨敤瓚呰繃500涓紪鐮佽鑼冭嚜鍔ㄥ寲鍦版爣鏄庡嵄闄╃殑錛?br>浣嗘槸緙栬瘧鍣ㄤ笉鑳芥鏌ュ埌鐨勪唬鐮佺粨鏋勩?br>
銆銆(4) C++ Validation Test Suites

銆銆鍙傝冪珯鐐癸細http://www.plumhall.com/suites.html

銆銆涓緇勭敤浜庢祴璇曠紪璇戝櫒鍜屽簱瀵逛簬鏍囧噯鍚誨悎紼嬪害鐨勪唬鐮佸簱銆?br>
銆銆(5) CppRefactory

銆銆鍙傝冪珯鐐癸細http://cpptool.sourceforge.net/

銆銆CPPRefactory鏄竴涓嬌寰楀紑鍙戣呰兘澶熼噸鏋勪粬浠殑C++浠g爜鐨勭▼搴忋傜洰鐨勬槸浣垮緱C
++浠g爜鐨勯噸鏋勮兘澶熷敖鍙兘鐨勬湁鏁堢巼鍜岀畝鍗曘?br>
銆銆(6) Lzz

銆銆鍙傝冪珯鐐癸細http://www.lazycplusplus.com/

銆銆Lzz鏄竴涓嚜鍔ㄥ寲璁稿C++緙栫▼涓殑浣撳姏媧葷殑宸ュ叿銆傚畠鑳藉鑺傜渷鎴戜滑璁稿浜嬩歡騫?br>涓斾嬌寰楃紪鐮佹洿鍔犳湁涔愯叮銆傜粰鍑轟竴緋誨垪鐨勫0鏄庯紝Lzz浼氱粰鎴戜滑鍒涘緩澶存枃浠跺拰婧愭枃浠躲?br>
銆銆(7) QA C++ Generation 2000

銆銆鍙傝冪珯鐐癸細http://www.programmingresearch.com/solutions/qacpp.htm

銆銆瀹冨叧娉ㄩ潰鍚戝璞$殑C++婧愪唬鐮侊紝瀵規湁鍏充簬璁捐錛屾晥鐜囷紝鍙潬鎬э紝鍙淮鎶ゆх殑閮ㄥ垎
鎻愬嚭璀﹀憡淇℃伅銆?br>
銆銆(8) s-mail project - Java to C++DOL

銆銆鍙傝冪珯鐐癸細http://sadlocha.strefa.pl/s-mail/ja2dol.html

銆銆鎶奐ava婧愪唬鐮佺炕璇戜負鐩稿簲鐨凜++婧愪唬鐮佺殑鍛戒護琛屽伐鍏楓?br>
銆銆(9) SNIP from Cleanscape Software International

銆銆鍙傝冪珯鐐癸細http://www.cleanscape.net/stdprod/snip/index.html

銆銆涓涓~騫崇紪鐮佸拰璁捐涔嬮棿娌熷鐨勬槗浜庝嬌鐢ㄧ殑C++寮鍙戝伐鍏鳳紝鑺傜渷澶ч噺緙栬緫鍜岃皟璇?br>鐨勪簨浠訛紝瀹冭繕浣垮緱寮鍙戣呰兘澶熸寚瀹氳璁℃ā寮忎綔涓哄璞℃ā鍨嬶紝鑷姩浠庡璞℃ā鍨嬩腑浜х敓
C++鐨勭被銆?br>
銆銆(10) SourceStyler C++

銆銆鍙傝冪珯鐐癸細http://www.ochresoftware.com/

銆銆瀵笴/C++婧愪唬鐮佹彁渚涘畬鏁寸殑鏍煎紡鍖栧拰鎺掔増鎺у埗鐨勫伐鍏楓傛彁渚涘浜?5涓殑鏍煎紡鍖栭?br>欏逛互鍙婂畬鍏ㄦ敮鎸丄NSI C++銆?br>
銆銆4.3 緙栬瘧綾?br>
銆銆(1) Compilercache

銆銆鍙傝冪珯鐐癸細http://www.erikyyy.de/compilercache/

銆銆Compilercache鏄竴涓浣犵殑C鍜孋++緙栬瘧鍣ㄧ殑灝佽鑴氭湰銆傛瘡嬈℃垜浠繘琛岀紪璇戯紝灝?br>瑁呰剼鏈紝鎶婄紪璇戠殑緇撴灉鏀懼叆緙撳瓨錛屼竴鏃︾紪璇戠浉鍚岀殑涓滆タ錛岀粨鏋滃皢浠庣紦瀛樹腑鍙栧嚭鑰屼笉
鏄啀嬈$紪璇戙?br>
銆銆(2) Ccache

銆銆鍙傝冪珯鐐癸細http://ccache.samba.org/

銆銆Ccache鏄竴涓紪璇戝櫒緙撳瓨銆傚畠浣跨敤璧鋒潵灝卞儚C/C++緙栬瘧鍣ㄧ殑緙撳瓨棰勫鐞嗗櫒錛岀紪璇?br>閫熷害閫氬父鑳芥彁楂樻櫘閫氱紪璇戣繃紼嬬殑5~10鍊嶃?br>
銆銆(3) Cmm (C++ with MultiMethods)

銆銆鍙傝冪珯鐐癸細http://www.op59.net/cmm/cmm-0.28/users.html

銆銆榪欐槸涓縐岰++璇█鐨勬墿灞曘傝鍏mm婧愪唬鐮佽緭鍑篊++鐨勬簮浠g爜錛屽姛鑳芥槸瀵笴++璇█
娣誨姞浜嗗multimethod鐨勬敮鎸併?br>
銆銆(4) The Frost Project

銆銆鍙傝冪珯鐐癸細http://frost.flewid.de/

銆銆Forst浣垮緱浣犺兘澶熷湪C++紼嬪簭涓儚鍘熺敓鐨凜++鐗規т竴鏍蜂嬌鐢╩ultimethod浠ュ強铏氬嚱
鏁板弬鏁般傚畠鏄竴涓紪璇戝櫒鐨勫澹熾?br>
銆銆4.4 嫻嬭瘯鍜岃皟璇曠被

銆銆(1) CPPUnit

銆銆CppUnit 鏄釜鍩轟簬 LGPL 鐨勫紑婧愰」鐩紝鏈鍒濈増鏈Щ妞嶈嚜 JUnit錛屾槸涓涓潪甯鎬紭
縐鐨勫紑婧愭祴璇曟鏋躲侰ppUnit 鍜?JUnit 涓鏍蜂富瑕佹濇兂鏉ユ簮浜庢瀬闄愮紪紼嬨備富瑕佸姛鑳藉氨
鏄鍗曞厓嫻嬭瘯榪涜綆$悊錛屽茍鍙繘琛岃嚜鍔ㄥ寲嫻嬭瘯銆?br>
銆銆(2) C++Test

銆銆鍙傝冪珯鐐癸細http://www.parasoft.com/

銆銆C++ Test鏄竴涓崟鍏冩祴璇曞伐鍏鳳紝瀹冭嚜鍔ㄥ寲浜咰鍜孋++綾伙紝鍑芥暟鎴栬呯粍浠剁殑嫻嬭瘯銆?br>

銆銆(3) Cantata++

銆銆鍙傝冪珯鐐癸細http://www.iplbath.com/products/tools/pt400.shtml

銆銆璁捐鐨勭洰鐨勬槸涓轟簡婊¤凍鍦ㄥ悎鐞嗙殑緇忔祹寮閿涓嬩嬌鐢ㄨ繖涓伐鍏峰彲浠ヨ寮鍙戝伐紼嬪笀寮
灞曞崟鍏冩祴璇曞拰闆嗘垚嫻嬭瘯鐨勯渶姹?

銆銆(4) Purify

銆銆鍙傝冪珯鐐癸細http://www-900.ibm.com/cn/software/rational/products/purif
yplus/index.shtml

銆銆IBM Rational PurifyPlus鏄竴濂楀畬鏁寸殑榪愯鏃跺垎鏋愬伐鍏鳳紝鏃ㄥ湪鎻愰珮搴旂敤紼嬪簭鐨?br>鍙潬鎬у拰鎬ц兘銆侾urifyPlus灝嗗唴瀛橀敊璇拰娉勬紡媯嫻嬨佸簲鐢ㄧ▼搴忔ц兘鎻忚堪銆佷唬鐮佽鐩?br>鍒嗘瀽絳夊姛鑳界粍鍚堝湪涓涓崟涓銆佸畬鏁寸殑宸ュ叿鍖呬腑銆?br>
銆銆(5) BoundsChecker

銆銆BoundsChecker鏄竴涓狢++榪愯鏃墮敊璇嫻嬪拰璋冭瘯宸ュ叿銆傚畠閫氳繃鍦╒isual Studi
o鍐呰嚜鍔ㄥ寲璋冭瘯榪囩▼鍔犻熷紑鍙戝茍涓旂緝鐭笂甯傜殑鍛ㄦ湡銆侭oundsChecker鎻愪緵娓呮錛岃緇?br>鐨勭▼搴忛敊璇垎鏋愶紝璁稿鏄C++鐙湁鐨勫茍涓斿湪static錛宻tack鍜宧eap鍐呭瓨涓嫻嬪拰璇?br>鏂敊璇紝浠ュ強鍙戠幇鍐呭瓨鍜岃祫婧愮殑娉勬紡銆傘銆(6) Insure++

銆銆鍙傝冪珯鐐癸細http://www.parasoft.com/

銆銆涓涓嚜鍔ㄥ寲鐨勮繍琛屾椂紼嬪簭嫻嬭瘯宸ュ叿錛屾鏌ラ毦浠ュ療瑙夌殑閿欒,濡傚唴瀛樿鐩栵紝鍐呭瓨娉?br>婕忥紝鍐呭瓨鍒嗛厤閿欒錛屽彉閲忓垵濮嬪寲閿欒錛屽彉閲忓畾涔夊啿紿侊紝鎸囬拡閿欒錛屽簱閿欒錛岄昏緫閿?br>璇拰綆楁硶閿欒絳夈?br>
銆銆(7) GlowCode

銆銆鍙傝冪珯鐐癸細http://www.glowcode.com/

銆銆GlowCode鍖呮嫭鍐呭瓨娉勬紡媯鏌ワ紝code profiler錛屽嚱鏁拌皟鐢ㄨ窡韙瓑鍔熻兘銆傜粰C++寮
鍙戣呮彁渚涘畬鏁寸殑閿欒璇婃柇錛屽拰榪愯鏃舵ц兘鍒嗘瀽宸ュ叿鍖呫?br>
銆銆(8) Stack Spy

銆銆鍙傝冪珯鐐癸細http://www.imperioustech.com/

銆銆瀹冭兘鎹曟崏stack corruption, stack over run, stack overflow絳夋湁鍏蟲爤鐨勯敊
璇?br>
------------------------------------------------------------------------
--------

銆銆5錛屽簱

銆銆鍦–++涓紝搴撶殑鍦頒綅鏄潪甯擱珮鐨勩侰++涔嬬埗 Bjarne Stroustrup鍏堢敓澶氭琛ㄧず浜?br>璁捐搴撴潵鎵╁厖鍔熻兘瑕佸ソ榪囪璁℃洿澶氱殑璇硶鐨勮█璁恒傜幇瀹炰腑錛孋++鐨勫簱闂ㄧ被綣佸錛岃В鍐?br>鐨勯棶棰樹篃鏄瀬鍏跺箍娉涳紝搴撲粠杞婚噺綰у埌閲嶉噺綰х殑閮芥湁銆備笉灝戦兘鏄浜虹溂鐣屽ぇ寮錛屼害鎴?br>鏄湜鑰岀敓鍙圭殑鎬濈淮鏉頒綔銆傜敱浜庡簱鐨勬暟閲忛潪甯稿簽澶э紝鑰屼笖闄愪簬絎旇呮按騫籌紝鍏朵腑寰堝騫?br>涓嶄簡瑙c傛墍浠ユ枃涓墍鎻愮殑涓浜涘簱閮芥槸姣旇緝钁楀悕鐨勫ぇ鍨嬪簱銆?br>
銆銆5.1 鏍囧噯搴?br>
銆銆鏍囧噯搴撲腑鎻愪緵浜咰++紼嬪簭鐨勫熀鏈鏂姐傝櫧鐒禖++鏍囧噯搴撻殢鐫C++鏍囧噯鎶樿吘浜嗚澶氬勾
錛岀洿鍒版爣鍑嗙殑鍑哄彴鎵嶆寮忓畾鍨嬶紝浣嗘槸鍦ㄦ爣鍑嗗簱鐨勫疄鐜頒笂鍗村緢浠や漢嬈f叞寰楃湅鍒板縐嶅疄
鐜幫紝騫朵笖宸茶瀹炶返璇佹槑涓烘湁宸ヤ笟綰у埆寮哄害鐨勪匠浣溿?br>
銆銆(1) Dinkumware C++ Library

銆銆鍙傝冪珯鐐癸細http://www.dinkumware.com/

銆銆P.J. Plauger緙栧啓鐨勯珮鍝佽川鐨勬爣鍑嗗簱銆侾.J. Plauger鍗氬+鏄疍r. Dobb's紼嬪簭璁?br>璁℃澃鍑哄鐨勮幏寰楄呫傚叾緙栧啓鐨勫簱闀挎湡琚玀icrosoft閲囩敤錛屽茍涓旀渶榪態orland涔熷彇寰椾簡
鍏禣EM鐨刲icense錛屽湪鍏禖/C++鐨勪駭鍝佷腑閲囩敤Dinkumware鐨勫簱銆?br>
銆銆(2) RogueWave Standard C++ Library

銆銆鍙傝冪珯鐐癸細http://www.roguewave.com/

銆銆榪欎釜搴撳湪Borland C++ Builder鐨勬棭鏈熺増鏈腑鏇劇粡琚噰鐢紝鍚庢潵琚叾浠栫殑搴撶粰鏇?br>鎹簡銆傜瑪鑰呬笉鎺ㄨ崘浣跨敤銆?br>
銆銆(3) SGI STL

銆銆鍙傝冪珯鐐癸細http://www.roguewave.com/

銆銆SGI鍏徃鐨凜++鏍囧噯妯$増搴撱?br>
銆銆(4) STLport

銆銆鍙傝冪珯鐐癸細http://www.stlport.org/

銆銆SGI STL搴撶殑璺ㄥ鉤鍙板彲縐繪鐗堟湰銆?br>
銆銆5.2 “鍑?#8221;鏍囧噯搴?- Boost

銆銆鍙傝冪珯鐐癸細http://www.boost.org

銆銆鍥藉唴闀滃儚錛歨ttp://www.c-view.org/tech/lib/boost/index.htm

銆銆Boost搴撴槸涓涓粡榪囧崈閿ょ櫨鐐箋佸彲縐繪銆佹彁渚涙簮浠g爜鐨凜++搴擄紝浣滀負鏍囧噯搴撶殑鍚?br>澶囷紝鏄疌++鏍囧噯鍖栬繘紼嬬殑鍙戝姩鏈轟箣涓銆?Boost搴撶敱C++鏍囧噯濮斿憳浼氬簱宸ヤ綔緇勬垚鍛樺彂璧?br>錛屽湪C++紺懼尯涓獎鍝嶇敋澶э紝鍏舵垚鍛樺凡榪?000浜恒?Boost搴撲負鎴戜滑甯︽潵浜嗘渶鏂般佹渶閰楓?br>鏈瀹炵敤鐨勬妧鏈紝鏄笉鎶樹笉鎵g殑“鍑?#8221;鏍囧噯搴撱?br>
銆銆Boost涓瘮杈冩湁鍚嶆皵鐨勬湁榪欎箞鍑犱釜搴擄細

銆銆Regex

銆銆姝e垯琛ㄨ揪寮忓簱

銆銆Spirit

銆銆LL parser framework錛岀敤C++浠g爜鐩存帴琛ㄨ揪EBNF

銆銆Graph

銆銆鍥劇粍浠跺拰綆楁硶

銆銆Lambda

銆銆鍦ㄨ皟鐢ㄧ殑鍦版柟瀹氫箟鐭皬鍖垮悕鐨勫嚱鏁板璞★紝寰堝疄鐢ㄧ殑functional鍔熻兘

銆銆concept check

銆銆媯鏌ユ硾鍨嬬紪紼嬩腑鐨刢oncept

 

銆銆Mpl

銆銆鐢ㄦā鏉垮疄鐜扮殑鍏冪紪紼嬫鏋?br>
 

銆銆Thread

銆銆鍙Щ妞嶇殑C++澶氱嚎紼嬪簱

 

銆銆Python

銆銆鎶奀++綾誨拰鍑芥暟鏄犲皠鍒癙ython涔嬩腑

銆銆Pool

銆銆鍐呭瓨姹犵鐞?br>
 

銆銆smart_ptr

銆銆5涓櫤鑳芥寚閽堬紝瀛︿範鏅鴻兘鎸囬拡蹇呰錛屼竴浠戒笉閿欑殑鍙傝冩槸鏉ヨ嚜CUJ鐨勬枃绔狅細

銆銆Smart Pointers in Boost錛屽摝錛岃繖綃囨枃绔犲彲浠ユ煡鍒幫紝CUJ鏄彁渚涘湪綰挎祻瑙堢殑銆?br>涓枃鐗堣絎旇呭湪銆奃r. Dobb's Journal杞歡鐮斿彂鏉傚織銆嬬7杈戜笂鐨勮瘧鏂囥?br>
銆銆Boost鎬諱綋鏉ヨ鏄疄鐢ㄤ環鍊煎緢楂橈紝璐ㄩ噺寰堥珮鐨勫簱銆傚茍涓旂敱浜庡叾瀵硅法騫沖彴鐨勫己璋冿紝
瀵規爣鍑咰++鐨勫己璋冿紝鏄紪鍐欏鉤鍙版棤鍏籌紝鐜頒唬C++鐨勫紑鍙戣呭繀澶囩殑宸ュ叿銆備絾鏄疊oost涓篃
鏈夊緢澶氭槸瀹為獙鎬ц川鐨勪笢瑗匡紝鍦ㄥ疄闄呯殑寮鍙戜腑瀹炵敤闇瑕佽皚鎱庛傚茍涓斿緢澶欱oost涓殑搴撳姛
鑳藉牚縐板璇█鍔熻兘鐨勬墿灞曪紝鍏舵瀯閫犵敤灝界簿宸х殑鎵嬫硶錛屼笉瑕佽錘鐒剁殑鑺辮垂鏃墮棿鐮旇銆侭o
ost鍙﹀涓闈紝姣斿Graph榪欐牱鐨勫簱鍒欐槸鍏鋒湁宸ヤ笟寮哄害錛岀粨鏋勮壇濂斤紝闈炲父鍊煎緱鐮旇鐨?br>綺懼搧浠g爜錛屽茍涓斾篃鍙互鏀懼績鐨勫湪浜у搧浠g爜涓澶氬埄鐢ㄣ?br>
銆銆5.3 GUI

銆銆鍦ㄤ紬澶欳++鐨勫簱涓紝GUI閮ㄥ垎鐨勫簱綆楁槸姣旇緝綣佽崳錛屼篃姣旇緝寮曚漢娉ㄧ洰鐨勩傚湪瀹為檯寮
鍙戜腑錛孏UI搴撶殑閫夋嫨涔熸槸闈炲父閲嶈鐨勪竴浠朵簨鎯咃紝涓嬮潰鎴戜滑緇艱堪涓涓嬪彲閫夋嫨鐨凣UI搴擄紝
鍚勮嚜鐨勭壒鐐逛互鍙婄浉鍏沖伐鍏風殑鏀寔銆?br>
銆銆(1) MFC

銆銆澶у悕榧庨紟鐨勫井杞熀紜綾誨簱錛圡icrosoft Foundation Class錛夈傚ぇ鍑″榪嘨C++鐨?br>浜洪兘搴旇鐭ラ亾榪欎釜搴撱傝櫧鐒朵粠鎶鏈搴﹁錛孧FC鏄笉澶ф紓浜殑錛屼絾鏄畠鏋勫緩浜嶹indo
ws API 涔嬩笂錛岃兘澶熶嬌紼嬪簭鍛樼殑宸ヤ綔鏇村鏄?緙栫▼鏁堢巼楂橈紝鍑忓皯浜嗗ぇ閲忓湪寤虹珛 Windo
ws 紼嬪簭鏃跺繀欏葷紪鍐欑殑浠g爜錛屽悓鏃跺畠榪樻彁渚涗簡鎵鏈変竴鑸?C++ 緙栫▼鐨勪紭鐐癸紝渚嬪緇ф壙
鍜屽皝瑁呫侻FC 緙栧啓鐨勭▼搴忓湪鍚勪釜鐗堟湰鐨刉indows鎿嶄綔緋葷粺涓婃槸鍙Щ妞嶇殑錛屼緥濡傦紝鍦?br>Windows 3.1涓嬬紪鍐欑殑浠g爜鍙互寰堝鏄撳湴縐繪鍒?Windows NT 鎴?Windows 95 涓娿備絾
鏄湪鏈榪戝彂灞曚互鍙婂畼鏂規敮鎸佷笂鏃ユ笎鍔垮井銆?br>
銆銆(2) QT

銆銆鍙傝冪綉绔欙細http://www.trolltech.com/

銆銆Qt鏄疶rolltech鍏徃鐨勪竴涓騫沖彴鐨凜++鍥懼艦鐢ㄦ埛鐣岄潰搴旂敤紼嬪簭妗嗘灦銆傚畠鎻愪緵緇?br>搴旂敤紼嬪簭寮鍙戣呭緩绔嬭壓鏈駭鐨勫浘褰㈢敤鎴風晫闈㈡墍闇鐨勬墍鐢ㄥ姛鑳姐俀t鏄畬鍏ㄩ潰鍚戝璞$殑
寰堝鏄撴墿灞曪紝騫朵笖鍏佽鐪熸鍦扮粍浠剁紪紼嬨傝嚜浠?996騫存棭浜涙椂鍊欙紝Qt榪涘叆鍟嗕笟棰嗗煙錛?br>瀹冨凡緇忔垚涓哄叏涓栫晫鑼冨洿鍐呮暟鍗冪鎴愬姛鐨勫簲鐢ㄧ▼搴忕殑鍩虹銆俀t涔熸槸嫻佽鐨凩inux妗岄潰鐜?br>澧僈DE 鐨勫熀紜錛屽悓鏃跺畠榪樻敮鎸乄indows銆丮acintosh銆乁nix/X11絳夊縐嶅鉤鍙般?br>
銆銆(3) WxWindows

銆銆鍙傝冪綉绔欙細http://www.wxwindows.org/

銆銆璺ㄥ鉤鍙扮殑GUI搴撱傚洜涓哄叾綾誨眰嬈℃瀬鍍廙FC錛屾墍浠ユ湁鏂囩珷浠嬬粛浠嶮FC鍒癢xWindows鐨?br>浠g爜縐繪浠ュ疄鐜拌法騫沖彴鐨勫姛鑳姐傞氳繃澶氬勾鐨勫紑鍙戜篃鏄竴涓棩瓚嬪畬鍠勭殑GUI搴擄紝鏀寔鍚?br>鏍蜂笉寮變簬鍓嶉潰涓や釜搴撱傚茍涓旀槸瀹屽叏寮鏀炬簮浠g爜鐨勩傛柊榪戠殑C++ Builder X鐨凣UI璁捐
鍣ㄥ氨鏄熀浜庤繖涓簱鐨勩?br>
銆銆(4) Fox

銆銆鍙傝冪綉绔欙細http://www.fox-toolkit.org/

銆銆寮鏀炬簮浠g爜鐨凣UI搴撱備綔鑰呬粠鑷繁浜茶韓鐨勫紑鍙戠粡楠屼腑寰楀嚭浜嗕竴涓悊鎯崇殑GUI搴撳簲
璇ユ槸浠涔堟牱瀛愮殑鎰熷彈鍑哄彂錛屼粠鑰屽紑濮嬩簡瀵硅繖涓簱鐨勫紑鍙戙傛湁鍏磋叮鐨勫彲浠ュ皾璇曚竴涓嬨?br>

銆銆(5) WTL

銆銆鍩轟簬ATL鐨勪竴涓簱銆傚洜涓轟嬌鐢ㄤ簡澶ч噺ATL鐨勮交閲忕駭鎵嬫硶錛屾ā鏉跨瓑鎶鏈紝鍦ㄤ唬鐮佸昂
瀵革紝浠ュ強閫熷害浼樺寲鏂歸潰鍋氬緱闈炲父鍒頒綅銆備富瑕侀潰鍚戠殑浣跨敤緹や綋鏄紑鍙慍OM杞婚噺綰т緵緗戠粶
涓嬭澆鐨勫彲瑙嗗寲鎺т歡鐨勫紑鍙戣呫?br>
銆銆(6) GTK

銆銆鍙傝冪綉绔欙細http://gtkmm.sourceforge.net/

銆銆GTK鏄竴涓ぇ鍚嶉紟榧庣殑C鐨勫紑婧怗UI搴撱傚湪Linux涓栫晫涓湁Gnome榪欐牱鐨勬潃鎵嬪簲鐢ㄣ?br>鑰孏TK灝辨槸榪欎釜搴撶殑C++灝佽鐗堟湰銆?br>
銆銆5.4 緗戠粶閫氫俊

銆銆(1) ACE

銆銆鍙傝冪綉绔欙細http://www.cs.wustl.edu/~schmidt/ACE.html

銆銆C++搴撶殑浠h〃錛岃秴閲嶉噺綰х殑緗戠粶閫氫俊寮鍙戞鏋躲侫CE鑷傞厤閫氫俊鐜錛圓daptive
 Communication Environment錛夋槸鍙互鑷敱浣跨敤銆佸紑鏀炬簮浠g爜鐨勯潰鍚戝璞℃鏋訛紝鍦?br>鍏朵腑瀹炵幇浜嗚澶氱敤浜庡茍鍙戦氫俊杞歡鐨勬牳蹇冩ā寮忋侫CE鎻愪緵浜嗕竴緇勪赴瀵岀殑鍙鐢–++鍖?br>瑁呭瑙傦紙Wrapper Facade錛夊拰妗嗘灦緇勪歡錛屽彲璺ㄨ秺澶氱騫沖彴瀹屾垚閫氱敤鐨勯氫俊杞歡浠誨姟
錛屽叾涓寘鎷細浜嬩歡澶氳礬鍒嗙鍜屼簨浠跺鐞嗗櫒鍒嗘淳銆佷俊鍙峰鐞嗐佹湇鍔″垵濮嬪寲銆佽繘紼嬮棿閫?br>淇°佸叡浜唴瀛樼鐞嗐佹秷鎭礬鐢便佸垎甯冨紡鏈嶅姟鍔ㄦ侊紙閲嶏級閰嶇疆銆佸茍鍙戞墽琛屽拰鍚屾錛岀瓑
絳夈?br>
銆銆(2) StreamModule

銆銆鍙傝冪綉绔欙細http://www.omnifarious.org/StrMod/

銆銆璁捐鐢ㄤ簬綆鍖栫紪鍐欏垎甯冨紡紼嬪簭鐨勫簱銆傚皾璇曠潃浣垮緱緙栧啓澶勭悊寮傛琛屼負鐨勭▼搴忔洿瀹?br>鏄擄紝鑰屼笉鏄敤鍚屾鐨勫澹沖寘璧峰紓姝ョ殑鏈川銆?br>
銆銆(3) SimpleSocket

銆銆鍙傝冪綉绔欙細http://home.hetnet.nl/~lcbokkers/simsock.htm

銆銆榪欎釜綾誨簱璁╃紪鍐欏熀浜巗ocket鐨勫鎴?鏈嶅姟鍣ㄧ▼搴忔洿鍔犲鏄撱?br>
銆銆(4) A Stream Socket API for C++

銆銆鍙傝冪綉绔欙細http://www.pcs.cnu.edu/~dgame/sockets/socketsC++/sockets.h
tml

銆銆鍙堜竴涓Socket鐨勫皝瑁呭簱銆?br>
銆銆5.5 XML

銆銆(1) Xerces

銆銆鍙傝冪綉绔欙細http://xml.apache.org/xerces-c/

銆銆Xerces-C++ 鏄竴涓潪甯稿仴澹殑XML瑙f瀽鍣紝瀹冩彁渚涗簡楠岃瘉錛屼互鍙奡AX鍜孌OM API
銆俋ML楠岃瘉鍦ㄦ枃妗g被鍨嬪畾涔?Document Type Definition錛孌TD)鏂歸潰鏈夊緢濂界殑鏀寔錛?br>騫朵笖鍦?001騫?2鏈堝鍔犱簡鏀寔W3C XML Schema 鐨勫熀鏈畬鏁寸殑寮鏀炬爣鍑嗐?br>
銆銆(2) XMLBooster

銆銆鍙傝冪綉绔欙細http://www.xmlbooster.com/

銆銆榪欎釜搴撻氳繃浜х敓鐗瑰埗鐨刾arser鐨勫姙娉曟瀬澶х殑鎻愰珮浜哫ML瑙f瀽鐨勯熷害錛屽茍涓旇兘澶熶駭
鐢熺浉搴旂殑GUI紼嬪簭鏉ヤ慨鏀硅繖涓猵arser銆傚湪DOM鍜孲AX涓ゅぇ涓繪祦XML瑙f瀽鍔炴硶涔嬪鎻愪緵浜?br>鍙﹀涓涓彲琛岀殑瑙e喅鏂規銆?br>
銆銆(3) Pull Parser

銆銆鍙傝冪綉绔欙細http://www.extreme.indiana.edu/xgws/xsoap/xpp/

銆銆榪欎釜搴撻噰鐢╬ull鏂規硶鐨刾arser銆傚湪姣忎釜SAX鐨刾arser搴曞眰閮芥湁涓涓猵ull鐨刾arse
r錛岃繖涓獂pp鎶婅繖灞傛毚闇插嚭鏉ョ洿鎺ョ粰澶у浣跨敤銆傚湪瑕佸厖鍒嗚冭檻閫熷害鐨勬椂鍊欏煎緱灝濊瘯銆?br>

銆銆(4) Xalan

銆銆鍙傝冪綉绔欙細http://xml.apache.org/xalan-c/

銆銆Xalan鏄竴涓敤浜庢妸XML鏂囨。杞崲涓篐TML錛岀函鏂囨湰鎴栬呭叾浠朮ML綾誨瀷鏂囨。鐨刋SLT澶?br>鐞嗗櫒銆?br>
銆銆(5) CMarkup

銆銆鍙傝冪綉绔欙細http://www.firstobject.com/xml.htm

銆銆榪欐槸涓縐嶄嬌鐢‥DOM鐨刋ML瑙f瀽鍣ㄣ傚湪寰堝鎬濊礬涓婇潰闈炲父鐏墊椿瀹炵敤銆傚煎緱澶у鍦―
OM鍜孲AX涔嬪瀵繪眰涓鐐圭伒鎰熴?br>
銆銆(6) libxml++

銆銆http://libxmlplusplus.sourceforge.net/

銆銆libxml++鏄钁楀悕鐨刲ibxml XML瑙f瀽鍣ㄧ殑C++灝佽鐗堟湰

銆銆5.6 縐戝璁$畻

銆銆(1) Blitz++

銆銆鍙傝冪綉绔欙細http://www.oonumerics.org/blitz/

銆銆Blitz++ 鏄竴涓珮鏁堢巼鐨勬暟鍊艱綆楀嚱鏁板簱錛屽畠鐨勮璁$洰鐨勬槸甯屾湜寤虹珛涓濂楁棦鍏?br>鍍廋++ 涓鏍鋒柟渚匡紝鍚屾椂鍙堟瘮Fortran閫熷害鏇村揩鐨勬暟鍊艱綆楃幆澧冦傞氬父錛岀敤C++鎵鍐欏嚭
鐨勬暟鍊肩▼搴忥紝姣?Fortran鎱?0%宸﹀彸錛屽洜姝litz++姝f槸瑕佹敼鎺夎繖涓己鐐廣傛柟娉曟槸鍒?br>鐢–++鐨則emplate鎶鏈紝紼嬪簭鎵ц鐢氳嚦鍙互姣擣ortran鏇村揩銆侭litz++鐩墠浠嶅湪鍙戝睍涓?br>錛屽浜庡父瑙佺殑SVD錛孎FTs錛孮MRES絳夊父瑙佺殑綰挎т唬鏁版柟娉曞茍涓嶆彁渚涳紝涓嶈繃浣跨敤鑰呭彲浠?br>寰堝鏄撳湴鍒╃敤Blitz++鎵鎻愪緵鐨勫嚱鏁版潵鏋勫緩銆?br>
銆銆(2) POOMA

銆銆鍙傝冪綉绔欙細http://www.codesourcery.com/pooma/pooma

銆銆POOMA鏄竴涓厤璐圭殑楂樻ц兘鐨凜++搴擄紝鐢ㄤ簬澶勭悊騫惰寮忕瀛﹁綆椼侾OOMA鐨勯潰鍚戝
璞¤璁℃柟渚夸簡蹇熺殑紼嬪簭寮鍙戯紝瀵瑰茍琛屾満鍣ㄨ繘琛屼簡浼樺寲浠ヨ揪鍒版渶楂樼殑鏁堢巼錛屾柟渚垮湪
宸ヤ笟鍜岀爺絀剁幆澧冧腑浣跨敤銆?br>
銆銆(3) MTL

銆銆鍙傝冪綉绔欙細http://www.osl.iu.edu/research/mtl/

銆銆Matrix Template Library(MTL)鏄竴涓珮鎬ц兘鐨勬硾鍨嬬粍浠跺簱錛屾彁渚涗簡鍚勭鏍煎紡
鐭╅樀鐨勫ぇ閲忕嚎鎬т唬鏁版柟闈㈢殑鍔熻兘銆傚湪鏌愪簺搴旂敤浣跨敤楂樻ц兘緙栬瘧鍣ㄧ殑鎯呭喌涓嬶紝姣斿In
tel鐨勭紪璇戝櫒錛屼粠浜х敓鐨勬眹緙栦唬鐮佸彲浠ョ湅鍑哄叾涓庢墜鍐欏嚑涔庢病鏈変袱鏍風殑鏁堣兘銆?br>
銆銆(4) CGAL

銆銆鍙傝冪綉绔欙細www.cgal.org

銆銆Computational Geometry Algorithms Library鐨勭洰鐨勬槸鎶婂湪璁$畻鍑犱綍鏂歸潰鐨勫ぇ
閮ㄥ垎閲嶈鐨勮В鍐蟲柟妗堝拰鏂規硶浠++搴撶殑褰㈠紡鎻愪緵緇欏伐涓氬拰瀛︽湳鐣岀殑鐢ㄦ埛銆?br>
銆銆5.7 娓告垙寮鍙?br>
銆銆(1) Audio/Video 3D C++ Programming Library

銆銆鍙傝冪綉绔欙細http://www.galacticasoftware.com/products/av/

銆銆AV3D鏄竴涓法騫沖彴錛岄珮鎬ц兘鐨凜++搴撱備富瑕佺殑鐗規ф槸鎻愪緵3D鍥懼艦錛屽0鏁堟敮鎸侊紙S
B,浠ュ強S3M錛夛紝鎺у埗鎺ュ彛錛堥敭鐩橈紝榧犳爣鍜岄仴鎰燂級錛孹MS銆?br>
銆銆(2) KlayGE

銆銆鍙傝冪綉绔欙細http://home.g365.net/enginedev/

銆銆鍥藉唴娓告垙寮鍙戦珮鎵嬭嚜宸辯敤C++寮鍙戠殑娓告垙寮曟搸銆侹layGE鏄竴涓紑鏀炬簮浠g爜銆佽法騫?br>鍙扮殑娓告垙寮曟搸錛屽茍浣跨敤Python浣滆剼鏈璦銆侹layGE鍦↙GPL鍗忚涓嬪彂琛屻傛劅璋㈤練鏁忔晱
鍏堢敓涓轟腑鍥芥父鎴忓紑鍙戜簨涓氭墍鍋氬嚭鐨勮礎鐚?br>
銆銆(3) OGRE

銆銆鍙傝冪綉绔欙細http://www.ogre3d.org

銆銆OGRE錛堥潰鍚戝璞$殑鍥懼艦娓叉煋寮曟搸錛夋槸鐢–++寮鍙戠殑錛屼嬌鐢ㄧ伒媧葷殑闈㈠悜瀵硅薄3D寮曟搸
銆傚畠鐨勭洰鐨勬槸璁╁紑鍙戣呰兘鏇存柟渚垮拰鐩存帴鍦板紑鍙戝熀浜?D紜歡璁懼鐨勫簲鐢ㄧ▼搴忔垨娓告垙銆?br>寮曟搸涓殑綾誨簱瀵規洿搴曞眰鐨勭郴緇熷簱錛堝錛欴irect3D鍜孫penGL錛夌殑鍏ㄩ儴浣跨敤緇嗚妭榪涜浜?br>鎶借薄錛屽茍鎻愪緵浜嗗熀浜庣幇瀹炰笘鐣屽璞$殑鎺ュ彛鍜屽叾瀹冪被銆?br>
銆銆5.8 綰跨▼

銆銆(1) C++ Threads

銆銆鍙傝冪綉绔欙細http://threads.sourceforge.net/

銆銆榪欎釜搴撶殑鐩爣鏄粰紼嬪簭鍛樻彁渚涙槗浜庝嬌鐢ㄧ殑綾伙紝榪欎簺綾昏緇ф壙浠ユ彁渚涘湪Linux鐜
涓緢闅劇湅鍒扮殑澶ч噺鐨勭嚎紼嬫柟闈㈢殑鍔熻兘銆?br>
銆銆(2) ZThreads

銆銆鍙傝冪綉绔欙細http://zthread.sourceforge.net/

銆銆涓涓厛榪涚殑闈㈠悜瀵硅薄錛岃法騫沖彴鐨凜++綰跨▼鍜屽悓姝ュ簱銆?br>
銆銆5.9 搴忓垪鍖?br>
銆銆(1) s11n

銆銆鍙傝冪綉绔欙細http://s11n.net/

銆銆涓涓熀浜嶴TL鐨凜++搴擄紝鐢ㄤ簬搴忓垪鍖朠OD錛孲TL瀹瑰櫒浠ュ強鐢ㄦ埛瀹氫箟鐨勭被鍨嬨?br>
銆銆(2) Simple XML Persistence Library

銆銆鍙傝冪綉绔欙細http://sxp.sourceforge.net/

銆銆榪欐槸涓涓妸瀵硅薄搴忓垪鍖栦負XML鐨勮交閲忕駭鐨凜++搴撱?br>
銆銆5.10 瀛楃涓?br>
銆銆(1) C++ Str Library

銆銆鍙傝冪綉绔欙細http://www.utilitycode.com/str/

銆銆鎿嶄綔瀛楃涓插拰瀛楃鐨勫簱錛屾敮鎸乄indows鍜屾敮鎸乬cc鐨勫縐嶅鉤鍙般傛彁渚涢珮搴︿紭鍖栫殑
浠g爜錛屽茍涓旀敮鎸佸綰跨▼鐜鍜孶nicode錛屽悓鏃惰繕鏈夋鍒欒〃杈懼紡鐨勬敮鎸併?br>
銆銆(2) Common Text Transformation Library

銆銆鍙傝冪綉绔欙細http://cttl.sourceforge.net/

銆銆榪欐槸涓涓В鏋愬拰淇敼STL瀛楃涓茬殑搴撱侰TTL substring綾誨彲浠ョ敤鏉ユ瘮杈冿紝鎻掑叆錛?br>鏇挎崲浠ュ強鐢‥BNF鐨勮娉曡繘琛岃В鏋愩?br>
銆銆(3) GRETA

銆銆鍙傝冪綉绔欙細http://research.microsoft.com/projects/greta/

銆銆榪欐槸鐢卞井杞爺絀墮櫌鐨勭爺絀朵漢鍛樺紑鍙戠殑澶勭悊姝e垯琛ㄨ揪寮忕殑搴撱傚湪灝忓瀷鍖歸厤鐨勬儏鍐?br>涓嬫湁闈炲父浼樼鐨勮〃鐜般?br>
銆銆5.11 緇煎悎

銆銆(1) P::Classes

銆銆鍙傝冪綉绔欙細http://pclasses.com/

銆銆涓涓珮搴﹀彲縐繪鐨凜++搴旂敤紼嬪簭妗嗘灦銆傚綋鍓嶅叧娉ㄧ被鍨嬪拰綰跨▼瀹夊叏鐨剆ignal/slot
鏈哄埗錛宨/o緋葷粺鍖呮嫭鍩轟簬鎻掍歡鐨勭綉緇滃崗璁忔槑鐨刬/o鏋舵瀯錛屽熀浜庢彃浠剁殑搴旂敤紼嬪簭娑堟伅
鏃ュ織妗嗘灦錛岃闂畇ql鏁版嵁搴撶殑綾葷瓑絳夈?br>
銆銆(2) ACDK - Artefaktur Component Development Kit

銆銆鍙傝冪綉绔欙細http://acdk.sourceforge.net/

銆銆榪欐槸涓涓鉤鍙版棤鍏崇殑C++緇勪歡妗嗘灦錛岀被浼間簬Java鎴栬?NET涓殑妗嗘灦錛堝弽灝勬満鍒訛紝
綰跨▼錛孶nicode錛屽簾鏂欐敹闆嗭紝I/O錛岀綉緇滐紝瀹炵敤宸ュ叿錛孹ML錛岀瓑絳夛級錛屼互鍙婂Java, P
erl, Python, TCL, Lisp, COM 鍜?CORBA鐨勯泦鎴愩?br>
銆銆(3) dlib C++ library

銆銆鍙傝冪綉绔欙細http://www.cis.ohio-state.edu/~kingd/dlib/

銆銆鍚勭鍚勬牱鐨勭被鐨勪竴涓患鍚堛傚ぇ鏁存暟錛孲ocket錛岀嚎紼嬶紝GUI錛屽鍣ㄧ被,浠ュ強嫻忚鐩?br>褰曠殑API絳夌瓑銆?br>
銆銆(4) Chilkat C++ Libraries

銆銆鍙傝冪綉绔欙細http://www.chilkatsoft.com/cpp_libraries.asp

銆銆榪欐槸鎻愪緵zip錛宔-mail錛岀紪鐮侊紝S/MIME錛孹ML絳夋柟闈㈢殑搴撱?br>
銆銆(5) C++ Portable Types Library (PTypes)

銆銆鍙傝冪綉绔欙細http://www.melikyan.com/ptypes/

銆銆榪欐槸STL鐨勬瘮杈冪畝鍗曠殑鏇夸唬鍝侊紝浠ュ強鍙Щ妞嶇殑澶氱嚎紼嬪拰緗戠粶搴撱?br>
銆銆(6) LFC

銆銆鍙傝冪綉绔欙細http://lfc.sourceforge.net/

銆銆鍝︼紝榪欏張鏄竴涓皾璇曟彁渚涗竴鍒囩殑C++搴?br>
銆銆5.12 鍏朵粬搴?br>
銆銆(1) Loki

銆銆鍙傝冪綉绔欙細http://www.moderncppdesign.com/

銆銆鍝︼紝浣犲彲鑳芥姳鎬ㄦ垜鏃╄鍜孊oost涓璧蜂粙緇嶅畠錛屼竴涓疄楠屾ц川鐨勫簱銆備綔鑰呭湪loki涓?br>鎶奀++妯℃澘鐨勫姛鑳藉彂鎸ュ埌浜嗘瀬鑷淬傚茍涓斿皾璇曟妸綾諱技璁捐妯″紡榪欐牱鎬濇兂灞傞潰鐨勪笢瑗塊氳繃
搴撴潵鎻愪緵銆傚悓鏃惰繕鎻愪緵浜嗘櫤鑳芥寚閽堣繖鏍鋒瘮杈冨疄鐢ㄧ殑鍔熻兘銆?br>
銆銆(2) ATL

銆銆ATL(Active Template Library)

銆銆鏄竴緇勫皬宸с侀珮鏁堛佺伒媧葷殑綾伙紝榪欎簺綾諱負鍒涘緩鍙簰鎿嶄綔鐨凜OM緇勪歡鎻愪緵浜嗗熀鏈殑
璁炬柦銆?br>
銆銆(3) FC++: The Functional C++ Library

銆銆榪欎釜搴撴彁渚涗簡涓浜涘嚱鏁板紡璇█涓墠鏈夌殑瑕佺礌銆傚睘浜庣敤搴撴潵鎵╁厖璇█鐨勪竴涓唬琛?br>浣溿傚鏋滄兂瑕佸湪OOP涔嬪瀵繪壘鍙︿竴鍒嗙殑涔愯叮錛屽彲浠ュ幓鐪嬬湅鍑芥暟寮忕▼搴忚璁$殑涓栫晫銆傚ぇ
甯圥eter Norvig鍦?“Teach Yourself Programming in Ten Years”涓鏂囦腑灝卞皢鍑?br>鏁板紡璇█鍒椾負鑷沖皯搴斿綋瀛︿範鐨?綾葷紪紼嬭璦涔嬩竴銆?br>
銆銆(4) FACT!

銆銆鍙傝冪綉绔欙細http://www.kfa-juelich.de/zam/FACT/start/index.html

銆銆鍙﹀涓涓疄鐜板嚱鏁板紡璇█鐗規х殑搴?br>
銆銆(5) Crypto++

銆銆鎻愪緵澶勭悊瀵嗙爜錛屾秷鎭獙璇侊紝鍗曞悜hash錛屽叕鍖欏姞瀵嗙郴緇熺瓑鍔熻兘鐨勫厤璐瑰簱銆?br>
銆銆榪樻湁寰堝闈炲父嬋鍔ㄤ漢蹇冩垨鑰呮槸鏋佸叾瀹炵敤鐨凜++搴擄紝闄愪簬鎴戜滑鐨勬按騫充互鍙婃枃绔犵殑綃?br>騫呬笉鑳藉寘鎷繘鏉ャ傚湪瀵逛簬榪欎簺宸茬粡鍖呭惈榪戞潵鐨勫簱鐨勪粙緇嶄腑錛岀敱浜庡茍涓嶆槸姣忎竴涓垜浠?br>閮戒嬌鐢ㄨ繃錛屾墍浠ラ毦鍏嶆湁鍋忛涔嬪錛岃璇昏呰璋呫?br>
------------------------------------------------------------------------
--------

銆銆6錛屼功綾?br>
銆銆浠ュ墠鐔婅妭鍏堢敓鏇炬挵鏂囪瘎璁虹浉瀵逛簬Java紼嬪簭璁捐璇█錛孋++鐨勫ソ涔﹀濡傜墰姣涖傝崳鑰
鍏堢敓鍦ㄣ婄▼搴忓憳銆嬫潅蹇椾笂鎾版枃銆奀++紼嬪簭璁捐涔嬪洓涔︿簲緇忋嬩篃灝嗘湰棰嗗煙鍐呭嚑涔庢墍鏈夌殑
緇忓吀涔︾睄浣滀簡鍏ㄩ潰鐨勪粙緇?浠諱綍鍏充簬涔︾殑璇勮姝ゆ椂鐪嬫潵渚挎槸寰堝浣欑殑浜嗐備釜浜烘祬瑙侊紝
闄ら潪浣犳墦綆椾互C++浣滀負鍞竴鍏磋叮鎴栬呯敓瀛樹箣鏈紝涓鑸鑰呯‘瀹炴病鏈夎凍澶熺殑鏃墮棿鍜屽繀瑕?br>灝?0浣欐湰涔︾睄鍏ㄩ儴闃呰銆傛洿鏈夊弬鑰冧環鍊肩殑鏄崳鑰鍏堢敓鐨勫彟涓綃囨枃绔狅細銆婅嚦灝戝簲璇ラ槄
璇葷殑涔濇湰C++钁椾綔銆嬶紝鍙互浠庝笅闈㈢殑鍦板潃嫻忚鍒版鏂囷細

銆銆http://www.royaloo.com/articles/articles_2003/9CppBooks.htm

銆銆涓嬮潰鍑犳湰涔﹀浜庤蛋鍦–++鍒濆涔嬭礬涓婄殑璇昏呮槸鎴戜滑鏈鎰挎剰鎺ㄨ崘緇欏ぇ瀹剁殑錛?br>
銆銆(1) 銆奀++ Primer銆?br>
銆銆鍝︼紝涔熻浣犱細鎶辨ㄦ垜浠負浠涔堜笉鍏堜粙緇峊CPL,浣嗗浜庤蛋鍦ㄥ涔犱箣璺笂鐨勫叆闂ㄨ咃紝
鏈功鍐呭鏇翠負鍏ㄩ潰錛屾洿涓鴻緇嗘槗鎳傦紝鎴戜滑縐板畠涓?#8220;C++鐨勮秴綰у疂鍏?#8221;騫朵笉榪囧垎銆傞厤鏈?br>涓鏈笉閿欑殑涔犻瑙g瓟銆奀++ Primer Answer Book銆嬪彲浠ヨ緟鍔╀綘鐨勫涔犱箣璺?br>
銆銆(2) 銆奅ssential C++銆?br>
銆銆濡傛灉璇淬奀++ Primer銆嬫槸C++棰嗗煙鐨勮秴綰у疂鍏革紝閭d箞姝や功浣滀負鎺屾彙C++鐨勫ぇ灞瑙?br>褰撲箣鏃犳劎銆傛濡傘?NET澶у眬瑙傘嬩竴涔﹁兘澶熻璇昏呭叏鎻?NET錛屾湰涔﹁榪頒簡C++涓渶鏍稿績
鐨勫叏閮ㄤ富棰樸備功铏戒笉鍘氾紝鍐呭綺劇偧錛屼笉澶變負銆奀++ Primer銆嬭鑰呰尪浣欓キ鍚庣殑涓婚鍥?br>欏句箣浣溿?br>
銆銆(3) 銆奣he C++ Programming Language銆?br>
銆銆Bjarne涓轟綘甯︽潵鐨凜++鏁欑▼錛岀湡姝h兘澶熷憡璇変綘鎬庝箞鐢ㄦ墠鍙湡姝g殑C++鐨勫敮涓涓鏈?br>涔︺傝櫧鐒跺鍚?#8220;鏌愭煇紼嬪簭璁捐璇█”榪欐牱鐨勪功綾嶄細緇欏ぇ瀹朵竴涓唴瀹瑰叏鎻斤紝鍏ラ棬鍒扮簿
閫氱殑鎰熻錛屼絾鏈功紜疄涓嶅お閫傚悎鍒濆鑰呴槄璇匯傚鏋滀綘鑷涓烘槸涓鍚嶅緢鏈夌粡楠岀殑C++紼?br>搴忓憳錛岄偅鑷沖皯涔熻鍙嶅鍜鍤糂jarne鍏堢敓鎵寮鴻皟鐨勮嫢騫插唴瀹廣?br>
銆銆(4) 銆奅ffective C++銆嬶紝銆奙ore Effective C++銆?br>
銆銆鏄殑錛屾濡備竴浜汣++鐖卞ソ鑰呯粡甯鎬互璇昏繃涓庢病鏈夎榪囦笂榪頒袱鏈綔鍝佹潵鍖哄垎浣犳槸鍚︽槸
C++楂樻墜銆傛垜浠篃鏋佸姏鎺ㄥ磭榪欎袱鏈憲浣溿傚湪鍚勭浠嬬粛C++涓撳緇忛獙鐨勪功綾嶉噷闈紝榪欎袱
鏈槸鏈璐磋繎璇█鏈川錛岀湅鍚庢渶鑳藉鏈夎劚鑳庢崲楠ㄦ劅瑙夌殑涔︼紝璇繪涔︿綘闇姣忔棩涓夌渷姹濊韓
銆?br>
銆銆鎶鏈功綾嶄粊鑰呰浠侊紝榪囧鐨勮瘎璁哄弽鏃犲お澶氭剰涔夛紝鐢辮鑰呭枩濂介夋嫨鏈閫傚悎鑷繁鐨?br>涔︽柟涓轟笂絳栥?br>
------------------------------------------------------------------------
--------

銆銆7錛岃祫婧愮綉绔?br>
銆銆姝e鎴戜滑鍙互閫氳繃璁$畻鏈哄巻鍙蹭笂鐨勯噸瑕佷漢鐗╀簡瑙h綆楁満鍙茬殑鍙戝睍錛孋++鐩稿叧浜虹墿
鐨勭綉绔欎篃鍙互浣挎垜浠緱鍒版渶鏈変環鍊肩殑鍙傝冧笌鍊熼壌錛屼笅闈㈢殑浜虹墿鎴戜滑璁や負娌℃湁浠嬬粛鐨?br>蹇呰錛屽彧鍥犱笅闈㈢殑浜虹墿鍦–++棰嗗煙鐨勫湴浣嶄紬鎵鍛ㄧ煡錛屾垜浠彧灝嗙浉鍏崇殑璧勬簮榪涜緗楀垪浠?br>渚涜鑰呭涔狅紝浠栦滑鏈夌殑宸ヤ綔浜庤礉灝斿疄楠屽錛屾湁鐨勫伐浣滀簬鐭ュ悕緙栬瘧鍣ㄥ巶鍟嗭紝鏈夌殑鍦ㄤ笉
鏂帹榪涜璦鐨勬爣鍑嗗寲錛屾湁鐨勪負璇昏呮挵鍐欎簡澶氶儴鍗冨彜濂囦綔……
銆銆(1) Bjarne Stroustrup
銆銆http://www.research.att.com/~bs/

銆銆(2) Stanley B. Lippman
銆銆http://blogs.msdn.com/slippman/
銆銆涓枃鐗?http://www.zengyihome.net/slippman/index.htm

銆銆(3) Scott Meyers
銆銆http://www.aristeia.com/

銆銆(4) David Musser
銆銆http://www.cs.rpi.edu/~musser/

銆銆(5) Bruce Eckel
銆銆http://www.bruceeckel.com

銆銆(6) Nicolai M. Josuttis
銆銆http://www.josuttis.com/

銆銆(7) Herb Sutter
銆銆http://www.gotw.ca/

銆銆(8) Andrei Alexandrescu
銆銆http://www.coderncppdesign.com/

銆銆(9) 渚嵎鍏堢敓
銆銆http://www.jjhou.com

銆銆(10) 瀛熷博鍏堢敓
銆銆鍏堢敓綣佸繖浜庡伐浣滐紝鐥磋糠浜庢妧鏈紝鏆傛棤涓漢涓婚〉錛屽叧浜庡厛鐢熺殑浣滃搧鍙互閫氳繃CSDN
鐨勪笓鏍忓拰渚厛鐢熺殑涓婚〉璁塊棶鍒般?br>
銆銆(11) 鑽h鍏堢敓
銆銆http://www.royaloo.com/

銆銆(12) 娼樼埍姘戝厛鐢?br>銆銆http://www.icst.pku.edu.cn/panaimin/pam_homepage.htm

銆銆闄や簡涓婅堪澶у笀鐨勪富欏靛錛屼互涓嬬殑緇煎悎綾籆++瀛︿範鍙傝冪珯鐐規槸鎴戜滑闈炲父鎰挎剰鍚戝ぇ瀹?br>鎺ㄨ崘鐨勶細

銆銆(1) CodeProject
銆銆http://www.codeproject.com

銆銆(2) CodeGuru
銆銆http://www.codeguru.com

銆銆(3) Dr. Dobb's Journal
銆銆http://www.ddj.com

銆銆(4) C/C++ Users Journal
銆銆http://www.cuj.com

銆銆(5) C緇磋鐐?br>銆銆http://www.c-view.org

銆銆(6) allaboutprogram
銆銆http://www.allaboutprogram.com
銆銆鍏朵粬璧勬枡

銆銆(1) ISO IEC JTC1/SC22/WG21 - C++錛氭爣鍑咰++鐨勬潈濞佸弬鑰?br>銆銆http://anubis.dkuug.dk/jtc1/sc22/wg21/

銆銆(2) C++ FAQ LITE 鈥?Frequently Asked Questions: 鏈涓哄叏闈㈢殑C++FAQ
銆銆http://www.sunistudio.com/cppfaq/index.html
銆銆C/C++ 鏂伴椈緇勶細
銆銆浣犱笉濡ㄥ皾璇曚粠榪欓噷鎻愰棶鍜屽洖絳旈棶棰橈紝寰堝涓嶉敊鐨凲&A璧勬簮......

銆銆(1) .alt.comp.lang.learn.c-c++
銆銆榪欎釜綆鍗曚簺錛屽鏋滀綘鍜屾垜涓鏍鋒槸涓彍楦?br>
銆銆(2) .comp.lang.c++.moderated
    鍡紝榪欎釜鏄劇劧姘村鉤楂樹竴浜?br>
銆銆(3) .comp.std.c++
銆銆濡傛灉浣犻渶瑕佽璁烘爣鍑咰++鐩稿叧璇濋鐨勮瘽

------------------------------------------------------------------------
--------

銆銆8錛屼笉寰椾笉鍐欑殑緇撴潫璇?br>
銆銆緇撴潫鐨勬椂鍊欎篃鏄葷粨鐜扮姸錛屽睍鏈涙湭鏉ョ殑鏃跺欍傝櫧鐒禖++浠庤劚鑳庝簬C寮濮嬶紝涓璺壈
闅懼潕鍧風殑璧拌繃鏉ワ紝浣嗘槸鏃犺濡備綍C++宸茬粡鍙栧緱浜嗗伐涓氬熀紜鐨勫湴浣嶃傛枃绔犲垪涓劇殑澶ч噺鐩稿叧
璧勬簮灝辨槸鏈濂界殑璇佹槑錛岃屼笟鐣岀殑澶ч噺鐢–++鍐欐垚鐨勪駭鍝佷唬鐮佷互鍙婂ぇ閲忕殑C++鑱屼笟宸ョ▼
甯堝垯鏄渶鐩存帴鐨勮瘉鏄庛傚悓鏃訛紝鎴戜滑鍙互鐪嬪埌鍚勪釜楂樻牎鐨勮綆楁満涓撲笟閮藉紑璁炬湁C++榪欓棬
璇劇▼錛岀綉緇滀笂瀵逛簬C++鐨勫涔犺璁轟篃浠庢潵閮芥病鏈夊仠榪囥備絾鏄紝鍦↗ava鍜?NET涓ゅぇ浼佷笟
寮鍙戝鉤鍙扮殑鍥存敾涓嬶紝緇欎漢鐨勬劅瑙夋槸C++瓚婃潵瓚?#8220;涓嶈”浜嗐?br>
銆銆C++鍦ㄩ潰鍚戜紒涓氱殑杞歡寮鍙戜腑錛屽湪寮鍙戜究鎹鋒х瓑鏂歸潰鐨勭‘瑕佹瘮Java鍜孋#宸緢澶氾紝
鍏朵腑涓涓棶棰樻槸C++璇█鏈韓姣旇緝澶嶆潅錛屽涔犳洸綰挎瘮杈冮櫋宄紝鍙﹀涓涓棶棰樻槸C++鏍?br>鍑嗗寲鐨勬椂闂村お闀匡紝涓уけ浜嗗緢澶氱殑澹ぇ鏈轟細錛岃楄垂浜嗗緢澶氱簿鍔涘湪鍘傚晢鐨勪箣闂寸殑鏂椾簤涓?br>錛岃孋++鐨勬爣鍑嗗簱紱諱竴涓畬鍠勭殑紼嬪簭寮鍙戞鏋惰繕緙哄皯澶澶鐨勫唴瀹癸紝鍚勪釜絎笁鏂圭殑
綾誨簱鍜屾鏋跺張鍦ㄤ竴鑷存у拰瀹屾暣鎬т笂娌℃硶鍜岄殢騫沖彴鎻愪緵鐨勬鏋剁浉鎻愬茍璁恒傞毦閬揅++鐪熺殑
瑕侀鍑哄巻鍙茶垶鍙頒簡錛?br>
銆銆浠嶤++鐩墠鐨勬椿璺冪▼搴︼紝浠ュ強搴旂敤鐜扮姸鏉ヨ鏄畬鍏ㄨ兘澶熻偗瀹欳++浠嶇劧鏄蔣浠跺伐涓?br>鐨勫熀紜錛屼篃涓嶄細閫鍑哄巻鍙茶垶鍙扮殑銆傚彟澶栦粠Boost錛孡oki榪欎簺搴撲腑鎴戜滑涔熻兘澶熺湅鍒癈++
鐨勫彂灞曢潪甯告椿璺冿紝瀵逛簬鏂版妧鏈柊鎬濈淮闈炲父嬋榪涳紝C++浠嶇劧騫挎硾鍙楀埌鍏蟲敞銆備粠ACE鍦ㄩ珮
鎬ц兘閫氫俊棰嗗煙鐨勫簲鐢紝浠ュ強MTL榪欐牱鐨勫簱鍦ㄦ暟鍊艱綆楅鍩熺殑鍑鴻壊琛ㄧ幇錛屾垜浠彲浠ョ湅鍒?br>C++鍦ㄩ珮鎬ц兘搴旂敤鍦哄悎涓嬬殑涓嶅彲鏇夸唬鐨勪綔鐢紝鑰屽祵鍏ュ紡緋葷粺榪欐牱鐨勫唴瀛樺彈闄愬紑鍙戝鉤鍙?br>錛屾瘮濡係ymbian OS涓婏紝C++宸茬粡鍙戞尌鐫騫朵笖灝嗗彂鎸ユ洿澶х殑浣滅敤銆傚彲浠ラ瑙佺殑鏄互鍚庣殑
杞歡鏃犺涓婂眰鐨勫簲鐢ㄦ庝箞鍙橈紝瀹冪殑搴曞眰鏍稿績閮戒細鏄敱C/C++榪欐牱鐨勭郴緇熺駭杞歡緙栧啓鐨?br>錛屾瘮濡侸ava铏氭嫙鏈猴紝.NET Framwork銆傚洜涓哄彧鏈夎繖鏍風殑緋葷粺綰ц蔣浠舵墠鑳藉畬鍏ㄥ交搴曠殑鍙?br>鎸ユ満鍣ㄧ殑鍔熻兘銆?br>
銆銆闇瑕佺湅鍒扮殑鏄袱涓秼鍔匡紝涓涓秼鍔挎槸C++鍙樺緱鏇村姞澶嶆潅錛屾洿鍔犲闄㈡淳錛岄氳繃妯℃澘
絳夋湁娼滃姏鐨勮娉曞洜绱犳瀯閫犺秺鏉ヨ秺綺懼閥鐨勫簱鎴愪負浜嗙幇浠++鐨勭儹鐐癸紝铏界劧鍦ㄥ埄鐢ㄥ簱瀹炵幇
鏂扮殑緙栫▼鑼冨紡錛屼箖鑷寵璁℃ā寮忕瓑鏂歸潰寰堟湁寮鍒涙剰涔夛紝涔熺‘瀹炰駭鐢熶簡涓浜涜兘澶熶究鎹峰紑
鍙戠殑宸ュ叿錛屼絾鏄洿澶氱殑鏄妸C++鍙樺緱鏇村姞寮哄ぇ錛屾洿鍔犲鏉傦紝涔熸洿鍔犻毦鎳傦紝浼間箮涔熸洿鍔?br>瀛﹂櫌媧撅紝涓嶅緱涓嶈瀹冩鍦ㄥ悜杈圭紭鍖栭亾璺彂灞曘傚彟涓涓秼鍔挎槸C++鍦ㄤ富嫻佺殑浼佷笟搴旂敤寮
鍙戜腑宸茬粡閫愭笎閫鍑轟簡錛孍RP榪欐牱鐨勪紒涓氳蔣浠跺紑鍙戜腑鍩烘湰涓婁笉浼氳冭檻C++錛岄櫎闈為渶瑕佽?br>铏戞ц兘鎴栬呭拰閬楃暀浠g爜鐨勯泦鎴愯繖浜涘洜绱犮侰++閫瀹堝埌緋葷粺綰у埆璇█錛屾垚涓鴻蔣浠跺伐涓氱殑
鍩虹鏄ぇ鍔挎墍瓚嬨傜劧鑰屽弽鎬濅竴涓嬶紝鐪熺殑鏄瀹堜箞錛熻嚜浠嶴TL鍑虹幇錛屾棤鏁扮殑浜洪璧蜂簯娑?br>鐨勫紑濮嬫敮鎸丆++,浠栦滑鐙傚懠“鎴戠湅鍒版繁澶滄秷澶變簡錛岀洰鏍囪蔣浠跺伐紼嬬殑鍑虹幇銆傛垜鐪嬪埌浜嗗彲
緇存姢鐨勪唬鐮併?#8221;鏄殑錛孲TL鍦ㄥ彲緇存姢鎬т笅鍋氬緱濡傛鍑鴻壊銆備絾鏄張鎬庢牱鍛紵STL涓篊++閾?br>騫充簡鐜頒唬杞歡宸ョ▼鐨勯亾璺紝鑰屽湪涓婂眰搴旂敤紼嬪簭杞歡寮鍙戦鍩熻繖鍧楀満鍦版棭涓嶅崟鐙睘浜?br>C++,寰堝紼嬪簭璁捐璇█閮藉仛寰楀緢鍑鴻壊錛岀柉鐙傜殑鏀寔鑰呬細姣笉鐘硅鮑鍦拌鎴戜滑搴斿綋鏀寔
C++,鍥犱負瀹冩槸涓栫晫涓婃渶媯掔殑璇█銆傝屽潶鐜囧湴璇達紝浣犵殑鑵版潌鐪熺殑閭d箞紜箞錛熶篃璁稿彧鏄?br>鍦ㄩ冮伩涓浜涗簨瀹炪侰++鏄紭縐鐨勶紝榪欎笉鍙惁璁わ紝STL鐨勫嚭鐜拌C++涓搴﹁蛋涓婁簡鏈杈夌厡鐨?br>鏃跺埢錛岀劧鑰岀幇鍦ㄧ湅鏉?#8230;…鎴戠殑涓浣嶆仼甯堟浘璦錛氱湡姝h兘澶熷皢STL搴旂敤寰楁穻婕撳敖鑷寸殑浜哄緢
淇濆畧鍦拌鍥藉唴涔熶笉瓚呰繃200浜猴紝鎴栬涓嶅姞鍏TL鑳藉浣緾++鍚戠潃瀹冨簲褰撳彂灞曠殑鏂瑰悜鍙戝睍
鐨勬洿濂斤紝鑰岀幇鍦ㄧ湅鏉ワ紝C++涔熷簲褰撳洖棣栧埌鐪熸灞炰簬浠栫殑閭d竴鐗囧湥鍦頒笂……

------------------------------------------------------------------------
--------

鍙傝冭祫鏂?br>
鏈枃鎴愭枃鏃跺弬鑰冧簡浠ヤ笅璧勬簮錛?br>
1銆併婄▼搴忓憳銆?004騫?鏈堬紝3鏈堬紝“C++ 紼嬪簭璁捐涔嬪洓涔︿簲緇?#8221; 鑽h

2銆佹按'鏈ㄦ竻鍗嶣BS C++鐗堢簿鍗庡尯

3銆乭ttp://jjhou.csdn.net

4銆乭ttp://www.royaloo.com

5銆乭ttp://www.zengyihome.net

6銆丆/C++ 寮鍙戜漢鍛橈細鍏呭疄鎮ㄧ殑 XML 宸ュ叿綆?http://www-900.ibm.com/developerW
orks/cn/xml/x-ctlbx/index.shtml

- 鍏ㄦ枃瀹?-


Gu.paladino 2007-06-06 16:44 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            一区精品在线| av成人免费在线观看| 国产原创一区二区| 欧美激情一区二区三区全黄 | 牛人盗摄一区二区三区视频| 亚洲一区二区三区精品在线| 99精品欧美一区二区三区| 西西裸体人体做爰大胆久久久| 日韩视频在线播放| 亚洲国产日韩在线| 国产一区导航| 国产视频自拍一区| 国产小视频国产精品| 欧美阿v一级看视频| 久久青青草原一区二区| 久久精品免费看| 一本色道久久| 国产精品99久久99久久久二8| 亚洲欧洲精品一区二区三区| 亚洲高清资源| 久久久久久久久久久一区| 欧美一区二区性| 欧美一区国产在线| 狂野欧美激情性xxxx| 欧美高清在线视频| 亚洲欧洲一区二区天堂久久| 一本久久综合| 性色av一区二区三区| 久久久噜噜噜| 欧美日韩亚洲国产精品| 国产精品视频你懂的| 玉米视频成人免费看| 日韩一级在线| 欧美一区影院| 欧美一级一区| 欧美大片一区二区三区| 日韩视频第一页| 欧美一区二区三区久久精品| 一区二区三区视频观看| 欧美一区二区三区免费在线看| 久久久亚洲国产美女国产盗摄| 欧美精品午夜视频| 国产日韩欧美中文在线播放| 亚洲高清不卡在线观看| 亚洲欧美日韩在线高清直播| 你懂的国产精品永久在线| 日韩午夜在线播放| 久久人人爽人人爽爽久久| 国产精品成人午夜| 亚洲国产精品一区二区第四页av | 国产一区二区三区日韩| 在线播放一区| 亚洲一区二区三区涩| 久久亚洲午夜电影| 亚洲精品欧美一区二区三区| 999亚洲国产精| 久久亚洲私人国产精品va| 国产精品v亚洲精品v日韩精品| 亚洲韩日在线| 另类亚洲自拍| 性8sex亚洲区入口| 欧美日韩午夜精品| 亚洲日本aⅴ片在线观看香蕉| 欧美一区二区三区四区高清| 在线观看一区视频| 亚洲免费视频中文字幕| 欧美激情一区二区三区全黄| 在线亚洲激情| 久久一区二区三区超碰国产精品| 久久这里有精品15一区二区三区| 欧美色精品在线视频| 亚洲精品日韩综合观看成人91| 久久久久综合一区二区三区| 亚洲视频一二三| 欧美日韩中文另类| 亚洲精品国产精品国产自| 亚洲自拍都市欧美小说| 亚洲欧洲日本mm| 欧美www在线| 亚洲日本成人女熟在线观看| 蜜臀a∨国产成人精品| 欧美一区二区三区久久精品茉莉花| 国产精品久久久久久久久久三级| 一区二区三区视频在线看| 亚洲免费av观看| 欧美日韩亚洲天堂| 最新日韩在线| 欧美亚洲一区二区在线| 亚洲欧美日本在线| 国产精品影音先锋| 久久激情五月婷婷| 欧美在线视频全部完| 国产在线一区二区三区四区| 久久国产精品一区二区三区四区| 欧美影院久久久| 亚洲一区二区三区四区中文| 欧美午夜不卡视频| 午夜精品在线看| 欧美在线视频一区| 国产精品成人观看视频国产奇米| 一区二区三区在线免费视频| 欧美电影美腿模特1979在线看| 免费观看久久久4p| 一区二区三区视频在线看| 亚洲天堂av在线免费观看| 国产午夜精品久久久久久免费视| 欧美一级一区| 久久久www成人免费精品| 国产精品久久久久999| 久久久精品性| 久久成人国产精品| 欧美精品免费看| 亚洲欧美一区二区三区极速播放| 小嫩嫩精品导航| 亚洲精品一区中文| 亚洲免费人成在线视频观看| 亚洲成人影音| 在线视频你懂得一区二区三区| 国产一区视频网站| 亚洲免费播放| 亚洲国产精品久久久| 亚洲无人区一区| 亚洲国产一区二区三区青草影视| 亚洲天堂av在线免费| 一区二区三区中文在线观看| 亚洲精品在线三区| 精品动漫3d一区二区三区| 亚洲最快最全在线视频| 在线观看欧美一区| 亚洲欧美清纯在线制服| 亚洲免费福利视频| 久久综合给合久久狠狠色| 午夜精品一区二区三区四区 | 亚洲日本中文字幕区| 国内精品久久久久影院色| 一区二区三区日韩| 99riav国产精品| 亚洲欧美国产另类| 国产主播一区二区| 亚洲自拍电影| 亚洲性人人天天夜夜摸| 欧美激情女人20p| 免费不卡视频| 一区二区在线不卡| 久久超碰97中文字幕| 欧美一区二区三区在线观看| 国产精品国产三级国产a| 亚洲精品日日夜夜| 91久久精品国产| 久久女同精品一区二区| 久久午夜av| 国产欧美一级| 999亚洲国产精| 中文av字幕一区| 欧美日韩国产精品| 99视频一区二区三区| 99国产精品久久久久久久久久 | 午夜精品国产更新| 亚洲欧美日产图| 欧美日韩在线观看视频| 亚洲三级影院| 欧美一区二区免费观在线| 狠狠色综合网站久久久久久久| 久久精品亚洲乱码伦伦中文| 亚洲电影网站| 亚洲欧美电影在线观看| 黄色国产精品| 欧美视频在线观看一区| 欧美中文字幕在线观看| 亚洲国产导航| 欧美呦呦网站| 亚洲精选在线观看| 国产欧美日韩在线视频| 美女视频网站黄色亚洲| 一区二区三区欧美激情| 蜜桃av噜噜一区| 亚洲在线1234| 亚洲黄色尤物视频| 国产人成精品一区二区三| 美女精品一区| 欧美一区二区三区在线播放| 亚洲国产精品va在线看黑人动漫| 亚洲欧美成人网| 日韩视频在线播放| 激情自拍一区| 国产伦精品一区二区三区高清版| 久久久久网址| 午夜精品一区二区三区四区 | 欧美一级一区| 亚洲精品中文字幕在线| 国产在线一区二区三区四区| 欧美日韩国产小视频| 久久久伊人欧美| 翔田千里一区二区| 中文网丁香综合网| 亚洲欧洲在线一区| 亚洲第一精品夜夜躁人人爽| 久久免费黄色| 久久久久久亚洲精品不卡4k岛国| 亚洲一区二区在线观看视频|