锘??xml version="1.0" encoding="utf-8" standalone="yes"?>美女啪啪无遮挡免费久久网站,伊人成人开心激情综合网,欧美成人综合网站http://m.shnenglu.com/bossbird/archive/2009/01/01/70943.htmlkzhangkzhangThu, 01 Jan 2009 12:39:00 GMThttp://m.shnenglu.com/bossbird/archive/2009/01/01/70943.htmlhttp://m.shnenglu.com/bossbird/comments/70943.htmlhttp://m.shnenglu.com/bossbird/archive/2009/01/01/70943.html#Feedback0http://m.shnenglu.com/bossbird/comments/commentRss/70943.htmlhttp://m.shnenglu.com/bossbird/services/trackbacks/70943.html            宸ヤ綔鑳藉姏鎸囦綘鑳芥弧瓚充粬浠殑宸ヤ綔鏈熸湜錛屾垨鑰呭湪鍙帴鍙楃殑鏃墮棿鑼冨洿鍐咃紝緇忚繃鍩硅鍚庯紝鍙互婊¤凍榪欎釜宸ヤ綔鏈熸湜銆?/p>

            宸ヤ綔鎬佸害鎸囦綘鑳芥湁浜涘仛鑱屽憳鐨勫熀鏈礌璐ㄣ?/p>

      榪欎釜閬撶悊搴旇鎵鏈変漢閮芥竻妤氥備絾鏄埌瀹為檯浜嬫儏鏃跺欏氨緇忓父鐘糠緋娿備笅闈㈠嚑鐐規槸緇忓父浼氬嚭闂鐨勫湴鏂癸細

 

1銆佷笉緇忔祴璇曪紝Review錛屽氨璁や負鑷繁宸ヤ綔瀹屾垚浜嗐?/p>

       浣犵殑浠g爜鎴栬呭簲鐢ㄤ竴鏃﹁鍒漢Review 錛屾垨鑰呰繘琛岃瘯鐢ㄣ傝繖鏃跺欎綘浠g爜鐨勫ソ鍧忥紝鎴栬呭姛鑳芥槸鍚﹀湪鍚勭鍦烘櫙涓嬫槸鍚﹀彲鐢紝閮戒細褰卞搷浣犺繖涓漢鍦ㄤ笂綰у強鍚屼簨鐪奸噷鐨勫彲淇′換搴︺?/p>

       浠g爜涔﹀啓鐨勮鑼冿紝鎬ц兘鐨勯珮璐ㄩ噺錛屽悇縐嶅姛鑳藉湪鍚勪釜鍦烘櫙閮藉彲鐢紝鍒欒〃紺轟綘榪欎釜浜烘槸瀹屽叏鍙俊鐨勩備笅嬈′笂綰х粰浣犲垎媧句換鍔$殑鏃跺欙紝灝卞彲浠ョ粰浣犳洿澶氱殑鑷敱搴︽潵鍙戞尌銆傞暱姝や互寰錛屽墠閫斿拰閽遍旇嚜鐒跺氨闅忔墜鍙緱銆?/p>

        鍙嶄箣錛屼唬鐮佷笉瑙勮寖錛屽姛鑳藉ソ浜涘満鏅笉鍙敤銆傝繖鍙兘璁╀笂綰ф垨鍚屼簨瑙夊緱浣犱笉鍙俊浠匯傛瘡嬈¢兘闇瑕佸鐞嗕綘甯︽潵鐨勮繖浜涢棶棰橈紝璇存伓蹇冪偣灝辨槸浣犳瘡嬈℃媺瀹屽ぇ渚塊兘娌℃摝灞佽偂錛屾瘡嬈¢兘寰椾綘鐨勫悓浜嬪拰涓婄駭甯綘鎿﹀眮鑲°傛暟嬈¢兘榪欐牱鍚庯紝涓婄駭鎴栧悓浜嬩笅嬈¤窡浣犳矡閫氱殑鏃跺欏氨浼氳寰椾綘榪欎釜浜轟笉鍙俊浠伙紝涓浠朵簨鎯呭繀欏誨弽澶嶅嬈″己璋冿紝鎬昏寰椾綘榪樹細浣滃嚭闂銆備綘鐨勪俊鐢ㄥ凡緇忛潪甯稿嵄闄╀簡銆?/p>

       浣犲湪鍒漢鐪奸噷鐨勪俊鐢ㄥ氨榪欐牱琚綘鎱㈡參閫忔敮浜嗐傞忔敮鍒頒竴瀹氱▼搴︼紝璧頒漢鍚с傛暣涓洟闃熺殑鏁堢巼浼氬洜涓轟綘鑰屽彉鎱紙姣忎釜浜鴻窡浣犳矡閫氱殑鎴愭湰閮戒細褰卞搷鍒頒粬鏈漢鐨勪駭鍑猴級錛屼綘涓嶈蛋浜鴻皝璧頒漢銆?/p>

 

2銆佹渶鐭彲鎺ュ彈鐨勫伐浣滄椂闄?/p>

       浣犳湁娌℃湁緇熻榪囷紝鍏徃鍒嗘淳緇欎綘涓涓伐浣滄椂鍊欙紝涓婄駭鎸囧畾鐨勮繖欏瑰伐浣滆鍒掑仛澶氫箙鐨勯璁★紝璺熶綘鑷繁鐨勯璁℃湁澶氬ぇ宸紓錛?/p>

       濡傛灉浣犻璁℃椂闂村ぇ浜庝笂綰х粰鐨勫伐浣滆鍒掓椂闂達紝鍚屾椂涓婄駭娌℃湁澧炴淳浜烘墜榪涜鐩稿叧宸ヤ綔銆傞櫎浜咮T鐨勯瀵煎錛岄偅鍙湁涓縐嶆儏鍐碉細涓婄駭瀵逛綘鐨勫伐浣滄佸害闈炲父涓嶆弧錛岃涓轟綘鐨勮柂姘村搴旂殑宸ヤ綔鑳藉姏涓嶆槸榪欎箞鐐廣?/p>

       瀵逛簬鍒氬伐浣滅殑錛屾洿澶氱殑鏄綘琛ㄧ幇鍑烘潵鐨勫伐浣滆兘鍔涘湪鍏徃鐨勫鉤鍧囧伐浣滆兘鍔涗箣涓嬨傚悓鏃跺叕鍙歌寰椾綘瀵瑰伐浣滄病鏈夎〃鐜板嚭瓚沖鐨勭儹鎯呫?涓涓兘鍔涘湪騫沖潎姘村鉤涓嬮潰錛屽張緙轟箯宸ヤ綔嬋鎯呯殑浜猴紝浠栫殑鍓嶉斿湪閭i噷錛燂紵

       濡傛灉榪欎釜浜鴻繕娌℃湁琛ㄧ幇鍑哄嚑涓湀鍚庤兘杈懼埌騫沖潎姘村鉤涔嬩笂鐨勫笇鏈涳紝涓哄暐浼氱暀榪欐牱涓涓漢鍛紵

 

3銆佸伐浣滆兘鍔涗笉絳変簬鎶鏈按騫?/p>

       鎴戞浘鐪嬪埌榪囨湁浜烘姳鎬ㄨ澶у叕鍙哥殑鍛樺伐涔熶笉榪囨槸榪欐妧鏈按騫籌紝 榪欎箞綆鍗曠殑鎶鏈棶棰橀兘涓嶄細銆傛垜鑷繁鏃╂湡涔熸湁榪欐牱鎯蟲硶錛屽悗鏉ュ彂鐜版槸涓嶅鐨勩?/p>

       涓嶈澶у叕鍙歌繕鏄皬鍏徃錛岃寰楁槸瑙e喅闂鐨勫伐浣滆兘鍔涖?鎴戠殑鏇劇粡鎵嬩笅灝辨湁濂藉嚑涓妧鏈按騫沖緢鐗涚殑錛屼絾鏄綔鍑烘潵鐨勫簲鐢ㄥ嵈涓嬈℃榪斿伐鐨勩備負鍟ワ紝宸ヤ綔鑳藉姏榪欎簺闈炴妧鏈洜绱犱粬浠仛鐨勫緢涓嶅ソ銆?/p>

       宸ヤ綔鑳藉姏鐨勯潪鎶鏈洜绱犲寘鎷殑寰堝錛?璐d換蹇冿紝琛ㄧ幇灝辨槸瀵硅嚜宸卞啓鍑烘潵鐨勪唬鐮佹湁涓瀹氳璁╀漢鏀懼績鐨勮矗浠伙紱 娌熼氳兘鍔涳紝涓涓吀鍨嬬殑琛ㄧ幇灝辨槸闇姹備笉鐞嗚В鎴栬呴渶姹備笉鏄庢椂錛屽強鏃跺緱璺熺浉鍏充漢娌熼氾紝鑰屼笉鏄嚜宸卞厛鎸夎嚜宸辨兂娉曞疄鐜幫紝閫犳垚浠g爜鍐欏畬鍚庡啀榪斿伐鐨勬伓鏋滅瓑絳夈?

       鎶鏈按騫充綆錛屼絾鏄В鍐抽棶棰樿兘鍔涘己鐨勶紝鎴戜篃紕板埌榪囦竴浜涗漢銆?宸ヤ綔鐨勮兘鍔涙洿閲嶈鐨勬槸榪欎簺闈炴妧鏈殑宸ヤ綔鑳藉姏錛岃屼笉鏄妧鏈按騫熾傛妧鏈漢鍛樺緢瀹規槗鎶鏈按騫抽珮錛屼絾鏄潪鎶鏈殑宸ヤ綔鑳藉姏宸?榪欐槸寰堢碂緋曠殑銆?/p>

     

 

4銆佸彂灞曟綔鍔涳紝瀛︿範鑳藉姏

      鍏徃浣跨敤鐨勬妧鏈笉鍙兘涓鐩翠笉鍙橈紝涓鐩翠笉鍙樼殑鍏徃鍙兘鎱㈡參琚競鍦烘窐姹般傝繖灝辮姹傚憳宸ヨ兘涓嶆柇鐨勫涔犳柊鐨勭煡璇嗭紝騫跺簲鐢ㄥ埌宸ヤ綔涓潵銆?/p>

      瑕佹兂涓嶄細鍑虹幇鍑犲勾鍚庯紝鑷繁鍙戠幇璺蟲Ы鎵句釜宸ヤ綔閮芥病浜鴻錛岃刀蹇涔犲惂銆?/p>

      鍧氭寔錛屾槸涓涓漢鏈闅懼仛鍒扮殑銆?浣嗘槸涓嶅潥鎸侊紝閭e氨絳夌潃鐏骸鍚с?/p>

 

 

5銆佺楦熷厛椋?/p>

      涓涓漢錛屽湪鍏徃錛屽鏋滃伐浣滆兘鍔涘湪騫沖潎綰夸互涓嬶紝 鍔犵彮鍚э紝 涓嶈鏈変換浣曞夠鎯熾?/p>

      鏈鍙曠殑鏄嚜宸辨病榪欎釜鎰忚瘑錛?鑷涓鴻嚜宸辨妧鏈按騫沖緢鐗涳紝 浣嗘槸瑙e喅闂鐨勫伐浣滆兘鍔涘嵈鍦ㄥ鉤鍧囨按騫崇嚎浠ヤ笅錛?鐪奸珮鎵嬩綆 錛?榪欐牱鐨勪漢錛?鍏徃鏄笉鑳界暀鐨勩?/p>

 

 

6銆佹壙璇哄埌鐨勪簨鎯呬竴瀹氳鍋氬埌錛屼笉瑕佹壘鐞嗙敱

       涓浠朵簨鎯呮病鏈夎鍋氬畬錛屾兂鎵劇悊鐢辮兘鎵懼緢澶氱殑銆傛棦鐒朵綘鎵胯浜嗘煇涓椂闂寸偣鍓嶅畬鎴愶紝灝變笉瑕佸啀鎵懼悇縐嶇悊鐢辨帹鑴便?/p>

       鍏徃鍚屼簨鍜屼笂綰ц櫧鐒跺彲鑳借繖嬈℃帴鍙椾簡浣犵殑鐞嗙敱錛屼絾鏄笅嬈″憿錛?鎱㈡參鐨勫氨浼氳浣犵殑涓婄駭錛屽悓浜嬭寰椾綘鏄竴涓枩嬈㈡帹鎵樼殑浜恒?鎰熻浣犲共浜嬫槸闈炲父涓嶅彲闈犵殑銆備笉鐭ラ亾閭f灝變細涓嶅畬鎴愶紝涓嬫璋佹暍鍐嶆壘浣犲共浜嬶紵

 

鏂拌ˉ鍏呯殑錛?/strong>

7銆佹湁鑳藉姏鑰呬笉鐢ㄥ姞鐝紝鑳藉姏鍦ㄥ鉤鍧囩嚎涔嬩笅鐨勮嚜瑙夊姞鐝惂

浠嶤SDN鐨勮瘎璁轟腑錛屼簤璁渶澶х殑涓涓湪鍔犵彮銆傛垜榪欓噷灝辮ˉ鍏呬竴涓嬫垜瀵瑰姞鐝殑鐪嬫硶銆?/p>

棣栧厛錛屾墍鏈変漢鍔犵彮錛岃繖鑲畾鏄瀵艱呯殑璐d換錛?鏁翠綋鐨勫伐浣滆繘搴﹀帇鍔涜繃澶т簡銆?/p>

榪炵畫鐨勪笉闂存柇鐨勫姞鐝紝榪欎篃鏄瀵艱呯殑璐d換錛屼漢涓嶅彲鑳戒竴鐩村浜庣嚎緇戠揣鐨勭姸鎬併?/p>

浣嗘槸錛屽鏋滀竴涓儴闂紝閮ㄥ垎浜哄姞鐝紝閮ㄥ垎浜轟笉鍔犵彮錛岃屼笖騫朵笉鏄洜涓洪瀵煎急鏅虹殑鎶婁竴浜涗漢宸ヤ綔鍒嗘淳澶氾紝涓浜涗漢宸ヤ綔鍒嗘淳灝戝鑷寸殑銆傚姞鐝殑浜哄彧鑳借鏄庝粬鐨勫伐浣滆兘鍔涘湪閮ㄩ棬鐨勫鉤鍧囩嚎涔嬩笅銆?
鍚屼竴涓伐浣滐紝 A 鍛樺伐騫茬殑璇?3 澶╁畬鎴愶紝 B 鍛樺伐騫茬殑璇?5澶╁畬鎴愩?鏈鍚庡鏋滆繖涓伐浣滃垎媧劇粰 B 鍛樺伐錛?寰堝彲鑳芥槸瑕佹眰浠?4澶╁畬鎴愩?鑰屼笖浠栧繀欏昏嚜瑙夊姞鐝?/p>

榪欏氨鏄垜鎵璇寸殑 錛?鏈夎兘鍔涜呬笉鐢ㄥ姞鐝紝鑳藉姏鍦ㄥ鉤鍧囩嚎涔嬩笅鐨勮嚜瑙夊姞鐝?/p>

 



kzhang 2009-01-01 20:39 鍙戣〃璇勮
]]>
銆愯漿銆戜竴涓父鎴忕▼搴忓憳鐨勫涔犺祫鏂?http://m.shnenglu.com/bossbird/archive/2008/12/26/70369.htmlkzhangkzhangThu, 25 Dec 2008 16:29:00 GMThttp://m.shnenglu.com/bossbird/archive/2008/12/26/70369.htmlhttp://m.shnenglu.com/bossbird/comments/70369.htmlhttp://m.shnenglu.com/bossbird/archive/2008/12/26/70369.html#Feedback2http://m.shnenglu.com/bossbird/comments/commentRss/70369.htmlhttp://m.shnenglu.com/bossbird/services/trackbacks/70369.html涓涓父鎴忕▼搴忓憳鐨勫涔犺祫鏂?/span>

 

鎯寵搗鍐欒繖綃囨枃绔犳槸鍦ㄧ湅渚澃鍏堢敓鐨勩婃繁鍏ユ祬鍑?span>MFC銆嬫椂,紿佺劧瑙夊緱鑷繁鍦ㄥぇ瀛﹁繖鍑犲勾鍏充簬娓告垙緙栫▼鏂歸潰榪樼畻鏄湁浜涘績寰楋紝鍥犳鍐欏嚭榪欑瘒灝忔枃,浠嬬粛鎴戠溂涓殑娓告垙紼嬪簭鍛樼殑涔﹀崟涓庢簮浠g爜鍙傝冦備竴鍒欐槸浣滀負鑷繁浠婂悗涓ゅ勾瀛︿範鐩爣鐨勫蹇樺綍,浜屾潵娌″噯瀵瑰埆浜轟篃鏈夌偣鍙傝冧環鍊箋傛垜鐨勫師鍒欐槸鍙啓鑷繁鐮旂┒榪囨垨鍑嗗鐮旂┒鐨勮祫鏂欙紝鎵浠ュ唴瀹規棤鐤戜細甯︿笂寮虹儓鐨勪釜浜哄枩濂借壊褰?span>,姣斿瀵圭綉緇?span>,鏁版嵁搴撶瓑閲嶈鏂歸潰瀹屽叏娌℃湁娑夊強銆傚洜涓鴻嚜宸變富瑕佸涓夌淮鍥懼艦寮曟搸,浜哄伐鏅鴻兘綆楁硶,鑴氭湰緋葷粺,鍙嶅鎸?span>(鍙嶅弽澶栨寕? ^錛?span>^)絳夋柟闈㈡劅鍏磋叮銆傝繖瀛︽湡鐢佃剳閮芥病鑱旂綉浜?span>,鍦ㄥ渤楹撳北闂叧淇偧涓?span>(^錛?span>^),榪炶繖綃囨枃绔犻兘寰楀湪瀛︽牎鍥句功棣嗙數瀛愰槄瑙堝錛堢數褰辨斁鏄犲錛燂級涓婁紶,鍐呭寰堝鍑蹇嗗啓鍑?span>,濡傛湁璇樊鏁璁㈡銆傜▼搴忓憳搴旇鍦ㄧ悊璁哄涔犱笌瀹炶返緙栫▼涓弽澶嶈凱浠o紝鎵浠ュ涔犺祫鏂欐槸涓鍥炰簨錛岄』鐭ュ敖淇′功涓嶅鏃犱功銆?/span>

 

涓銆佷功綾嶏細

綆楁硶涓庢暟鎹粨鏋勶細

銆婃暟鎹粨鏋勶紙C璇█鐗堬級銆嬧斺斾弗钄氭晱銆佸惔浼熸皯 娓呭崕鍑虹増紺?/span>

鎴戣寰楀叾閰嶅涔犻闆嗙敋鑷蟲瘮鍘熶功鏇存湁浠峰鹼紝姣忎釜杈冮毦鐨勯閮藉煎緱鍋氫竴涓嬨?/span>

 

銆?span>Introduction to Algorithms銆嬬浜岀増 涓枃鍚嶃婄畻娉曞璁恒?/span>

鍏充簬綆楁硶鐨勬爣鍑嗗涔犳暀鏉愪笌宸ョ▼鍙傝冩墜鍐岋紝鍦ㄥ幓騫?span>CSDN緗戠珯涓婂叾緲昏瘧鐗堢珶鐒惰瘎涓哄勾搴︿簩鍗佸ぇ鎶鏈晠閿涔︼紝鍚屾椂銆婄▼搴忓憳銆嬫潅蹇椾笂寮璁句簡“綆楁硶鎿傚彴”鏍忕洰錛岃繖浜涙函婧愬浐鏈殑涓懼姩錛屼笉鐢卞緱浣夸漢瀵逛腑鍥界幇浠婃誕韜佷笉鍫殑鎵璋?#8220;IT”涓氬張浜х敓浜嗕竴綰垮笇鏈涖傝繖鏈帤鍘氱殑涔︼紝騫鎬簭鎵撴姌鎴戞墠涔板緱璧楓傝櫧鐒跺帤杈懼崈欏碉紝浣嗗叾鑻辨枃閫氫織鏅撶晠錛屽唴瀹規繁鍏ユ祬鍑猴紝鍙緇忓吀涔嬩綔寰寰姣斾竴鑸按鍑嗙殑涔﹁繕鑰愯銆傝繕鑳芥壘鍒?span>MIT鐨勮棰戞暀紼嬶紝絎竴鑺傝渚嵎鍏堢敓璇達細“婧愮爜闈㈠墠錛屼簡鏃犵瀵?#8221;錛屽張璇?#8220;澶╀笅澶т簨錛屽繀浣滀簬緇?#8221;錛屽彲浠ヤ笌浠栫殑銆婁笂絀風ⅶ钀戒笅榛勬硥錛屾簮鐮佽拷韙粡楠岃皥銆嬪弬鐪嬨?/span>

 

MFC:

銆婃繁鍏ユ祬鍑?span>MFC銆?/span>

鎴戝疄鍦ㄤ互涓烘病鏈夌湅榪?st1:personname w:st="on" productid="渚嵎">渚嵎鍏堢敓鐨勩婃繁鍏ユ祬鍑?span>MFC銆嬬殑浜哄鍗婁笉浼氭噦寰?span>MFC緙栫▼銆傚叾瀹炴垜鏄墦綆楃敤涓騫村鐨勬椂闂村啓涓涓粰娓告垙緹庡伐鐢ㄧ殑涓夌淮緙栬緫鍣紝欏轟究浣滀負姣曚笟璁捐銆傚浘褰㈠簱灝辯敤MFC鍚э紝鍙嶆涔熸病寰楅夋嫨銆傚鏋滆鐢?span>wxWidgets鏃犻潪鏄寧濂囪屽凡錛岃繕涓嶆槸MFC鐨勭炕鐗堬紝褰撶劧瀹冭法騫沖彴浜嗐傚氨璞¢樆鍑繪墜瀵硅嚜宸辨灙姊扮殑闆朵歡浜嗗鎸囨帉涓鏍鳳紝瑕佹兂鐢?span>MFC鍐欏嚭闈炵帺鍏風▼搴忕殑浜轟竴瀹氳浜嗚В鍏跺唴閮ㄦ瀯閫犮傝繕鏈変竴鏈功鍙?span>MFC娣卞叆嫻呭嚭銆嬶紝騫朵笉鏄悓涓鏈?/span>

 

IDE:

銆?span>Microsoft Visual Studio 2005 Unleashed銆?/span>

宸ユ鍠勫叾浜嬶紝蹇呭厛鍒╁叾鍣ㄣ傚綋鐒舵垜璁や負涓庡叾鐢ㄥ艦濡?span>Source Insight銆?span>Slick Edit銆?span>Code Visualizer涔嬬被鐨勪唬鐮侀槄璇誨櫒銆佸浘褰㈠寲宸ュ叿錛岃繕涓嶅鐢ㄨ嚜宸辯殑澶ц剳銆備絾濡傛灉浣犲珜鎵撴簮浠g爜鎱㈢殑璇濓紝鍙互鐢?span>Visual AssistX銆傚鏋滃珜鑰佹槸鍐欓噸澶嶇浉浼肩殑浠g爜鐨勮瘽錛屽彲浠ョ敤Code Smith銆傚崟鍏冩祴璇曞彲浠ョ敤CppUnit錛?span>Boost搴撲腑鐨勬祴璇曟鏋朵篃涓嶉敊銆傛湁蹇冩儏鍙互鍚?span>Visual Studio澶栨帴Intel鐨?span>Compiler錛屽唴宓?span>STLport錛屼絾涓嶆槸澶у伐紼嬶紝鎬ц兘鍒嗘瀽娌″繀瑕佸姩涓嶅姩灝辯敤涓?span>VTune鍚с?/span>

 

紼嬪簭鍛樹箣璺細

銆婃父鎴忎箣鏃呪斺旀垜鐨勭紪紼嬫劅鎮熴?/span>

浜戦澶у摜銆傚湪鎴戝績鐩腑娓告垙紼嬪簭鍛樺浗澶栭鎺ㄥ崱椹厠錛屽浗鍐呴鎺ㄤ簯椋庛備篃璁歌繃涓ゅ勾鎴戜細鍒扮綉鏄撳綋浜戦澶у摜鐨勫姪鐞嗙▼搴忓憳鍚с?span>Its my dream.錛?span>^-^錛変粬鍐欒繖鏈功鐨勬椂鍊欐湰鐫鍙湁閫忓交鐞嗚В鐨勪笢瑗挎墠鍐欏嚭鏉ワ紝鍥犳鍐呭涓嶄細寰堥叿鏂幫紝浣嗘槸鐩鎬俊鎴戯紝姣忚涓閬嶉兘鏈夋柊鐨勬敹鑾鳳紝涓昏榪樹笉鏄煡璇嗕笂鐨勶紝鍥犱負鐭ヨ瘑鏄鏃犳澧冪殑錛屾巿浜轟互楸間笉濡傛巿浜轟互娓旓紝綺劇涓婄殑鍚開鎵嶆槸闀夸箙鐨勩傝瘹濡傜粡鍏告父鎴忋婁粰鍓戝渚犱紶銆嬬殑涓誨姏紼嬪簭鍛樺吋緹庢湳鎸囧濮氬.瀹紙浜虹О濮氫粰錛夊湪搴忚█涓墍璇寸殑“浜戦寰楀埌鐨勫彧鏄竴浜涚ǹ璐癸紝鑰屾暣涓腑鍥芥皯鏃忔父鎴忎駭涓氬緱鍒扮殑灝嗘槸涓嬈$煡璇嗙殑鎺ㄥ姩”錛屾璦涓嶈櫄鐭c?/span>

 

銆婄紪紼嬮珮鎵嬬璦銆?/span>

姊佽倗鏂版槸璞澃瓚呯駭瑙i湼鐨勪綔鑰咃紝鏈潵姣忎釜鍚堟牸鐨勭▼搴忓憳錛?span>Programmer , 鑰岄潪Coder錛夐兘搴旇鎺屾彙鐨勪笢瑗匡紝鐜板湪鍙樻垚浜嗙紪紼嬮珮鎵嬬殑鐙綆磋█銆備笉鐭ユ槸浣滆呯殑騫歌繍榪樻槸涓浗IT涓氱殑鎮插搥銆傜煡璇嗙偣榪樻槸璁插緱铔鐨勶紝涓嶈繃瀵?span>MFC鐨勫湴浣嶉鏈夊井璇嶃傛垜瀹炲湪璁や負MFC鐨勫悕澹板氨鏄偅浜涗笉鎳傚緱鐢ㄥ畠鐨勪漢鎼炶嚟鐨勩備笉榪囦綔鑰呯殑鐗㈤獨涔熸儏鏈夊彲鍘燂紝姣忎釜鍏鋒湁鍒涢犲姏鐨勭▼搴忓憳閮藉簲璇ヤ笉澶枩嬈?span>framework銆?/span>

 

銆?span>Masters of DOOM: How Two Guys Created an Empire and Transformed Pop Culture銆嬩腑鏂囧悕銆?span>DOOM鍚笘褰曘?/span>

鍗¢┈鍏嬶紝緗楁礇鏂紝榪欎簺娓告垙鍙蹭笂濡傞浄璐崇殑鍚嶅瓧銆傦紙鐜板湪鍗¢┈鍏嬪凡涓撴敞浜庣伀綆埗閫犱笂錛岀綏媧涙柉鍒欐惡濡誨洖涔¢殣灞咃級瑕佷笉鏄病涓婅繃澶у鐨勫崱椹厠鍜屽浘褰㈠澶у笀浜氫集鎷夌綍鐨勫姛鍕嬶紝鍙兘鍒扮幇鍦ㄦ父鎴忎腑榪樹笉鐭ヤ笁緇翠負浣曠墿銆傚嬁搴哥疆鐤戯紝鍦ㄨ綆楁満鐣屽巻鍙叉槸鑻遍泟浠墍鎺ㄥ姩鐨勩傝繖鏈功鐪熷疄鐨勮褰曚簡榪欎簺灝樹笘鑻遍泟鐨勬墍涓烘墍鎬濄?/span>

 

浣滀負紼嬪簭鍛樼殑鎴戝榪欏嚑鏈瓥鍒掍笌緹庡伐鐨勪功涔熶駭鐢熶簡嫻撳帤鍏磋叮錛屼互鍓嶆悶榪囦竴涓ゅ勾鐨?span>3DS MAX鎻掍歡緙栫▼錛岃寰楃敤maxscript榪樻槸濂借繃MaxSDK錛屾瘯绔熸父鎴忓紑鍙戜腑鎵澶氱殑鏄ā鍨嬪満鏅暟鎹殑瀵煎叆瀵煎嚭錛屽ぇ鍙笉蹇呭ぇ鍔ㄥ共鎴堛?/span>

 

絳栧垝錛?/span>

銆?span>Creating Emotion in Games : The Craft and Art of Emotioneering銆?/span>

鍦ㄥ.涓界厞鐩殑瀹忎紵涓夌淮涓栫晫鑳屽悗錛屽湪孌嬮叿鐨勬潃鎴紝鍔ㄤ漢蹇冮瓌鐨勬儏鑺傝儗鍚庯紝鎴戜滑榪橀渶瑕佷粈涔堟潵鎶撲綇鐜╁鐨勫績錛熺瓟瀵逛簡錛屽氨鏄?span>emotion.鐪熸鎵撳姩浜哄績鐨勶紝鎵嶆槸娣卞叆楠ㄩ珦鐨勩?/span>

 

銆?span>Ultimate Game Design : Building Game Worlds銆?/span>

浠庡悕瀛楀彲浠ョ湅鍑猴紝鍐欑粰鍏沖崱璁捐甯堢殑錛岀壒鍒槸璁插澶栬嚜鐒跺満鏅殑鏋勫緩棰囨湁鍙彇涔嬪銆?/span>

 

銆?span>Developing Online Games : An Insiders Guide銆?/span>

灝辮薄鍚嶄負鍙嶆ā寮忕殑涔﹁杞歡鍥㈤槦榪愯惀涓鏍鳳紝榪欐湰涔﹁鍟嗕笟榪愪綔澶氳繃鎶鏈備竴涓巻緇忚壈闅撅紝鐜板湪鐩涘ぇ鐨勬父鎴忕▼搴忓憳錛岀炕璇戜簡榪欐湰涔︺?/span>

 

緹庡伐錛?/span>

銆?span>Digital Cinematography & Directing銆?/span>

鏁板瓧鎽勫獎瀵兼紨鏈紝姣忓綋浣犲湪3DS MAX鎴栬?span>Maya絳変笁緇村垱浣滆蔣浠朵腑鎽嗘斁鎽勫獎鏈猴紝璁捐鍏惰繍鍔ㄨ建榪規椂錛屼綘鍙浘鎯寵繃浣犱篃绔欏湪瀵兼紨鐨勪綅緗笂浜嗭紵

 

銆?span>The Animators Survival Kit銆?/span>

鐪嬬潃榪欐湰璁插崱閫氳鑹茶繍鍔ㄨ寰嬬殑涔︼紝涓杈逛駭鐢熸俯涔犮婄尗鍜岃侀紶銆嬬殑蹇靛ご錛屼竴杈圭戶緇鍓嶄笉涔呮柊闂昏仈鎾腑鍏充簬涓浗浜х敓浜嗘煇璁$畻鏈鴻嚜鍔ㄥ崱閫氬姩鐢葷敓鎴愯蔣浠舵姤閬撶殑钄戣錛岃繖鏉℃姤閬撶О姝や婦鍙ぇ澶у姞蹇腑鍥藉崱閫氬姩鐢葷殑浜ч噺銆傛垜涓斾笉浠庢妧鏈笂鎺㈣鍏舵槸鍚︽槸鍦ㄦ斁鍗槦錛堝叾瀹炴垜鐭ラ亾寰楀緢娓呮錛屽墠鏂囧凡琛紝鏈漢鎼炶繃涓涓ゅ勾鐨勫崱閫氬姩鐢昏緟鍔╄蔣浠剁紪紼嬶級錛屼絾璁$畻鏈烘満姊扮敓鎴愮殑鍔ㄧ敾鎬庡彲浠f浛浜虹被鍏呮弧鐏墊х殑鍒涗綔錛?/span>

 

銆?span>The Dark Side of Game Texturing銆?/span>

鐢?span>Photoshop鍒朵綔鏉愯川璐村浘錛岃繕鐪熸湁浜涘闂?/span>

 

涓夌淮鍥懼艦瀛︼細

鎼炰笁緇村浘褰㈠棣栧厛榪樻槸瑕佹墡鎵庡疄瀹炵殑鍏堢湅瑙f瀽鍑犱綍銆佺嚎鎬т唬鏁般佽綆楀嚑浣曠殑鏁欐潗錛屽悗闈㈢殑涔犻涓涓兘涓嶈兘灝戙傚浗鍐呮暟瀛︿功榪樻槸铔ソ鐨勩傝嫃姝ラ潚澶у笀鐨勩婅綆楀嚑浣曘嬬О寰椾笂鍏鋒湁涓栫晫綰ф按鍑嗭紝鍙儨涓浗CAD鐨勫畯鍥捐鐩楃増緇欏嚮鍨簡銆傜幇鍦ㄦ槸鎴戜滑鎺ヨ繃鎺ュ姏媯掔殑鏃跺欎簡銆?span>Its time!

 

 

銆?span>Computer Graphics Geometrical Tools銆?span>

銆婅綆楁満鍥懼艦瀛﹀嚑浣曞伐鍏風畻娉曡瑙c嬬畻娉曞緢澶氾紝綰版紡澶勪篃涓嶅皯銆?/span>

 

銆?span>3D Math Primer for Graphics and Game Development銆?/span>

嫻呮槗錛屽彲浣滀負涓夌淮鏁板鐨?#8220;閫熼“銆?/span>

 

銆?span>Mathematics for 3D Game Programming & Computer Graphics銆嬬浜岀増

姣斾笂闈㈤偅鏈繁鍏ヤ竴浜涳紝璇佹槑鎺ㄧ悊鐨勬暟瀛︽皵涔熸祿涓浜涳紝鍙綔涓轟笓涓氱殑鏁板涔︿笌緙栫▼瀹炶返涓涓繃娓$殑妗ユ鍚с傚唴瀹規秹鐚庝篃騫匡紝灝勭嚎榪借釜錛屽厜鐓ц綆楋紝鍙瑁佸壀錛岀鎾炴嫻嬶紝澶氳竟褰㈡妧鏈紝闃村獎綆楁硶錛屽垰浣撶墿鐞嗭紝嫻佷綋姘存嘗錛屾暟鍊兼柟娉曪紝鏇茬嚎鏇查潰錛岃繕鐪熷涓板瘜銆?/span>

 

銆?span>Vector Game Math Processors銆?/span>

鎯沖MMX,SSE鍚楋紝閭e氨鐪嬪畠鍚э紝涓嶈繃浠庡熀紜璁茶搗鐨勶紝瑕佽愬績鍝︺?/span>

 

 DirectX:

銆?span>Introduction to 3D Game Programming with DirectX 9.0銆?/span>

DirectX鍏ラ棬鐨勯緳涔︼紝浣滆呰嚜宸卞啓鐨勭畝鍗曠ず渚嬫鏋訛紝鍚庨潰鎴戝共鑴嗙敤State妯″紡錛屾妸鎵鏈変緥瀛愮粦鍒頒竴鍧楀効鍘諱簡銆?/span>

 

銆?span>Beginning Direct3D Game Programming銆?/span>

浣滆呭彇寰楀緥甯堝浣嶅悗鍙樻垚浜嗘父鎴忕▼搴忓憳錛岀湡鏄篃鍝夈傛湰涔﹁櫧瀹氫綅涓哄叆闂ㄧ駭涔︼紝鍐呭棰囨湁鐙壒鍙彇涔嬪銆傚畠鐢ㄥ埌鐨勭ず渚嬫鏋舵槸DXSDK Sample Framework錛岃屼笉鏄幇鍦ㄩ氳鐨?span>DXUT銆傝鎯崇紪璇戞湁涓ょ鍔炴硶鍚э紝涓鏄嚜宸辨敼鍐欐垚鐢?span>DXUT鐨勩備簩鏄壘鏃х殑Sample Framework銆傛垜鍙堟噿寰椾負浜嗕竴涓ず渚嬫鏋朵笅杞芥暣涓棭鏈熺増鏈殑DirectX錛屽悗闈㈠湪Nvidia SDK 9.5涓彂鐜頒簡銆?/span>

 

銆?span>Advanced Animation with DirectX銆?/span>

DirectX楂樼駭鍔ㄧ敾鎶鏈傞楠肩郴緇燂紝娓愬彉鍏抽敭甯у姩鐢伙紝鍋朵漢鎶鏈紝琛ㄦ儏鍙樺艦錛岀矑瀛愮郴緇燂紝甯冩枡鏌斾綋錛屽姩鎬佹潗璐紝涓嶄竴鑰岃凍銆傛垜甯稿父鍦ㄦ兂錛屼粠涓夌淮鍒涗綔杞歡瀵煎嚭鐨勭縐嶆晥鏋滐紝鍙樻垚涓鍫?span>text鎴?span>binary錛屽厛鍔犲瘑鍘嬬緝鎵撳寘鍐嶈В鍖呰В鍘嬭В瀵嗭紝鍐嶇敤娓告垙紼嬪簭閲嶅緩涓涓?span>Lite鍔ㄧ敾緋葷粺錛屾父鎴忕▼搴忓憳涔熺湡鏄緵鑻︺?/span>

 

OpenGL:

銆?span>NeHe OpenGL Tutorials銆?/span>

铏芥槸緗戠粶鏁欑▼錛屼笉姣旀寮忕殑涔﹂婏紝鏈潵瀛?span>OpenGL灝變笉榪囨槸鐪嬬櫨鏉ユ潯C鍑芥暟鏂囨。鐨勫伐澶惂,濡傛灉鍥懼艦瀛﹀熀紜鐭ヨ瘑鎵庡疄鐨勮瘽銆?/span>

 

銆?span>OpenGL Shading Language銆?/span>

OpenGL鏀寔鏈鏂版樉鍗℃妧鏈闈犱慨淇ˉ琛ョ殑鎻掍歡鎵╁睍錛屾墍浠ヨ繕瑕侀厤鍚?/span>

銆?span>Nvidia OpenGL Extension Specifications銆?/span>

鏉ョ湅涓轟笂銆?/span>

 

銆?span>Focus on 3D Models銆?/span>

銆?span>Focus on 3D Terrain Programming銆?/span>

銆?span>Focus on Curves and Surfaces銆?span>

欏懼悕鎬濅箟錛屼笁鏈笓璁猴紝铏界劧閮藉緢涓嶆繁錛屼絾瑕佸鏈煡涓夌淮妯″瀷鏍煎紡浣滃弽鍚戝伐紼嬪墠錛岀爺璇?span>Geomipmapping鍦板艦綆楁硶璁烘枃鍓嶏紝CAD鍓嶏紝榪樻槸瑕佺湅鐪嬪畠浠負涓婏紝濡傛灉娌′粠鍒寰楄繃鍒板熀紜鐨勮瘽銆?/span>

 

鑴氭湰錛?/span>

鍏堢湅

銆?span>Game Scripting Mastery銆?span>

絳夎嚜宸變簡瑙d簡铏氭嫙鏈虹殑鏋勯狅紝鍙互璁捐鍑虹畝鍗曠殑鑴氭湰瑙i噴鎵ц緋葷粺浜嗐?/span>

鍐嶅幓鏌?span>Python , Lua 錛?span>Ruby鐨勬墜鍐屽惂錛屼細浜嬪崐鍗婂姛鍊嶅嶇殑銆?/span>

 

銆?span>Programming Role Playing Games with DirectX 8.0銆?/span>

涓杈規暀瀛︿竴杈圭敤DirectX鍐欏嚭浜嗕竴涓?span>GameCore搴擄紝鍒濆叿寮曟搸紼氬艦銆?/span>

 

銆?span>Isometric Game Programming with DirectX 7.0銆?/span>

涓夌淮涔熸槸寤虹珛鍦ㄤ簩緇寸殑鍩虹涓婏紝榪欏氨鏄繖鏈功鐜板湪榪樺煎緱鐪嬬殑鍘熷洜銆?/span>

 

銆?span>Visual C++緗戠粶娓告垙寤烘ā涓庡疄鐜般?/span>

鑱斾紬鐨勭▼搴忓憳鍐欑殑錛屽姛鍔涘緢鎵庡疄錛岃媯嬬墝綾繪父鎴忕紪紼嬶紝鐗瑰埆璁蹭簡UML寤烘ā鍜?span>Rotional Rose銆?/span>

 

銆?span>Object-Oriented Game Development銆?/span>

濂楃敤鏌愪漢鐨勮瘽錛?#8220;I like this book.

 

Shader:

瑕佸叆闂ㄥ彲鍏堢湅

銆?span>Shaders for Game Programmers and Artists銆?/span>

璁插湪RenderMonkey涓敤HLSL楂樼駭鐫鑹茶璦鍐?span>Shader.

 

鍐嶇湅

銆?span>Direct3D ShaderX : Vertex and Pixel Shander Tips and Tricks銆?/span>

鐢ㄦ眹緙栫潃鑹茶璦錛岀函閾惰丹閲戙?/span>

 

涓夊ぇ瀹濆簱錛?/span>

銆?span>Game Programming Gems銆?/span>

鎴戝彧瑙佸埌1-6鏈紝鎹絎?span>7銆?span>8鏈篃鍑烘潵浜嗭紵闄勫甫鐨勬簮浠g爜甯告湁bug錛屼笉榪囩憰涓嶆帺鐟滐紝榪欏涓栫晫欏剁駭娓告垙紼嬪簭鍛樻瘡騫翠竴搴︾殑鎶鏈枃闆嗭紝娑夊強娓告垙寮鍙戠殑鍚勪釜鏂歸潰錛屾垜瑙夊緱瀵屾湁寮鍙戠粡楠岀殑浜烘洿鑳藉湪鍏朵腑鎵懼埌鍏遍福銆?/span>

 

銆?span>Graphics Gems銆嬪叏浜旀湰

鍥懼艦瀛︾紪紼?span>Bible錛岀湅浜嗚繖濂椾功浣犱細鏄庣櫧璁$畻鏈洪鍩熺殑縐戝瀹跺拰宸ョ▼甯堝尯鍒箣鎵鍦ㄣ傜瀛﹀鎬繪槸璇達紝榪欎釜涓滆タ鍦ㄧ悊璁轟笂鍙銆傚伐紼嬪笀浼氳錛岃浣塊棶棰樺湪logN鐨勬椂闄愬唴瑙e喅鎴戝彧鑳藉繊鐥涘壊鐖憋紝鑸嶇箒瓚嬬畝銆?/span>

 

銆?span>GPU Gems銆嬪嚭浜嗕簩鏈?/span>

Nvidia鍏徃鍙泦鍥懼艦瀛?span>Gurus鍐欑殑錛岀瓑鍒扮湅鎳傜殑閭d竴澶╋紝鎴戜篃鏈夊績鎯呰窇鍘?span>Siggraph鍥介檯鍥懼艦瀛﹀ぇ浼氫笂鎶曟枃绔犵榪愭皵銆?/span>

 

娓告垙寮曟搸緙栫▼錛?/span>

銆?span>3D Game Engine Programming銆?/span>

鏄?span>ZFXEngine寮曟搸鐨勮璁℃濊礬闃愰噴錛屽緢騫沖疄錛屽唶澶鎯婂枩銆?/span>

 

銆?span>3D Game Engine Design銆?/span>

鏁板鐗╃悊鐨勭悊璁虹煡璇嗚瑙h緝澶氾紝鏈潵榪欐牱灝卞浜嗭紝榪樿兘鏈熷緟鏇村鍚楋紵

 

浜哄伐鏅鴻兘錛?/span>

銆?span>AI Techniques for Game Programming銆?/span>

璁查仐浼犵畻娉曪紝浜哄伐紲炵粡緗戠粶錛屼富瑕佺敤鍒頒綅鏁扮粍錛屽浘綆楁硶銆備功鐨勫師鍨嬫槸鏍規嵁浣滆呭彂琛ㄥ埌GameDev.net璁哄潧涓婄殑鍐呭鏁寸悊鍑烘潵鐨勶紝榪樻瘮杈冨垏涓疄闄呫?/span>

 

銆?span>AI Game Programming Wisdom銆?/span>

鐩稿綋浜?span>AI緙栫▼鐨?span>Gems銆?/span>

 

銆?span>PC娓告垙緙栫▼(浜烘満鍗氬紙)銆?/span>

浠ヨ薄媯嬬▼搴忎負钃濇湰錛屼粙緇嶄簡寰堝縐嶆悳绱㈢畻娉曪紝闄や簡甯歌鐨勬瀬澶ф瀬灝忓肩畻娉曞強鍏舵敼榪?span>--璐熸瀬澶у肩畻娉曪紝榪樻湁娣卞害浼樺厛鎼滅儲浠ュ銆傛洿鎻愪緵浜嗗縐嶆敼榪涚畻娉曪紝濡傦細Alpha-Beta,Fail-soft alpha-beta,Aspiration Search, Minimal Window Search,Zobrist Hash,Iterative Deepening,History Heuristic,Killer Heuristic,SSS*,DUAL*,MFD and more.鐞崇悈婊$洰錛屽疄灞為毦寰椼?/span>

 

鍙嶅鎸傦細

銆婂姞瀵嗕笌瑙e瘑(絎簩鐗?span>)銆?鐪嬮洩璁哄潧绔欓暱 孌甸挗

鐮磋В搴忓垪鍙蜂笌鍙嶅鎸傛湁鍏崇郴涔堬紵涓嶈繃錛屼笘涓婂摢涓や歡浜嬫儏涔嬮棿鍙堟病鏈夊叧緋誨憿錛?/span>

 

銆?span>UML Distilled銆?Martin Fowler

寰堝浜虹洿鍒扮湅浜嗚繖鏈功鎵嶇湡姝e鎳?span>UML銆?/span>

Martin Fowler鏄湡姝g殑澶у笀,浠庢棭鏈熺殑鍒嗘瀽妯″紡,鍒拌繖鏈?span>UML綺劇補,闈╁懡鎬х殑閲嶆瀯閮芥槸浠栨彁鍑虹殑,鍚庢潵鍙堝啓浜嗕紒涓氭ā寮忎竴涔︺傜幇鍦ㄩ瀵間竴涓蔣浠跺紑鍙戝挩璇㈠叕鍙革紝鍘誨勾JavaOne涓浗澶т細浠栦綔涓轟笓瀹舵潵鍗庝簡鍚с備釜浜虹綉绔欙細MartinFowler.com

 

璁捐妯″紡涓夊墤瀹細

銆?span>Design Patterns Elements of Reusable Object-Oriented Software銆?/span>

銆?span>Design Patterns Explained銆?/span>

銆?span>Head First Design Patterns銆?span> 

 

閲嶆瀯涓夋澘鏂э細

銆?span>Refactoring : Improving the Design of Existing Code銆?/span>

銆?span>Refactoring to Patterns銆?/span>

銆?span>Refactoring Workbook銆?/span>

 

杞歡宸ョ▼:

銆?span>Extreme Programming Explained : Embrace Change銆嬬浜岀増

鍏朵腑Simplicity鐨?span>Value鐪熸槸鎸亱鍙戣仼錛岃繖灝辨槸鎴戜粈涔堥兘鍠滄杞婚噺綰х殑鍘熷洜銆?/span>

 

銆?span>Agile Software Development Principles,Patterns,and Practices銆?/span>

鏁忔嵎鐪熸槸鐐掑緱澶熺伀鐨勶紝榪炰紒涓氶兘鏈夋晱鎹蜂竴璇達紝涓嶈繃澶у笀鏄笉浼氳繖涔?span>advertising鐨勩?/span>

 

銆?span>Code Complete銆嬬浜岀増

鍚嶈憲銆?/span>

 

鏁板錛?/span>

銆婃暟瀛︼紝紜畾鎬х殑涓уけ銆?span>M.鍏嬭幈鍥?/span>

鍘熸潵鏁板涔熷彧涓嶈繃鏄漢綾葷殑鍙戞槑涓庤噯閫狅紝鐢ㄤ笉鐫渚涘叆紲炴錛屾兂璧峰巻鍙蹭笂閭d箞澶氫笉椋熶漢闂寸儫鐏殑縐戝瀹訛紙澶氬崐鏄暟瀛﹀錛夛紝鑷互涓哄彂鐜頒簡瀹囧畽榪愪綔鐨勫ゥ縐橈紝鏄椂鍊欒蛋涓嬬鍧涗簡銆?/span>

 

鐗╃悊錛?/span>

銆婃櫘閫氱墿鐞嗗銆嬬涓鍐?span> += 銆?span>Physics for Game Developers銆?/span>

鐗╃悊鎴戞兂灝卞埌姝や負姝ゅ惂錛屽啀澶嶆潅鎴戝彲瑕佺敤Newton Engine,ODE浜嗭紝絳夊緟鐗╃悊鍗?span>PPU鏅強鐨勯偅澶╋紝灝卞彲鍏呭垎鍙戞尌PhysX鐨勫姛鏁堜簡錛岀湅榪囨渶鏂扮殑銆婄粏鑳炲垎瑁傘嬫父鎴?span>Demo婕旂ず錛屾垚鍗冧笂涓囦釜Box鐤媯Collide錛岄鐏扮駭鐜╁璇ヤ竴杈規懜閽卞寘涓杈規祦鍙f按浜嗐?/span>

 

浜屻佸紑婧愪唬鐮侊細

Irrlicht

钁楀悕鐨勯鐏紩鎿庯紝浠庝袱騫村墠絎竴鐪肩湅鍒板畠錛岃繖涓交閲忕駭鐨勪笁緇村浘褰㈠紩鎿庯紝灝卞枩嬈笂浜嗗畠銆傛簮浠g爜浼橀泤錛岄珮鏁堬紝涓斾笉鏁呭紕鐜勮櫄銆傚煎緱姣忎釜C++紼嬪簭鍛樹竴璇伙紝騫朵笉闄愪簬鍥懼艦緙栫▼鑰呫傚畠鐨勫懆杈逛腑涔熸湁涓嶅皯杞婚噺綰х殑涓滆タ銆傚Lightfeather鎵╁睍寮曟搸錛?span>ICE銆?span>IrrlichtRPG銆?span>IrrWizard.榪樻湁IrrEdit銆?span>IrrKlang銆?span>IrrXML鍙敤銆傦紙鍙兘鏄負浜嗘晥鐜囧師鍥狅紝寰堝寮婧愪綔鑰呭線寰鍠滄鑷繁鍐?span>XML瑙f瀽搴擄紝濡備互涓婄殑IrrXML搴?span>,鍗充嬌鏈夌幇鎴愮殑tinyXML搴撳彲鐢ㄣ傝繖鐪熶細璁?span>tomcat閲岄潰濉?span>Axis錛?span>Axis閲岄潰濉?span>JUDDI錛屽紕寰楀儚淇勭綏鏂濞冪帺鍏風殑Java Web Service Coder浠睏棰溿傦級

 

OGRE

鎺掑悕絎竴鐨勫紑婧愬浘褰㈠紩鎿庯紝褰撶劧瑙勬ā鏄緢澶х殑錛屽懆杈逛篃寰堝銆傞櫎浜嗕互C#鍐欏氨鐨?span>OgreStudio 錛?span>ofusion宓屽叆3DS MAX浣滀負WYSWYG寮忕殑涓夌淮緙栬緫鍣ㄤ篃鏄媯掔殑錛岀壒鍒槸鍏跺嚑涓満鏅佸湴褰㈡彃浠跺煎緱鐮旂┒銆備互鑷充簬銆?span>Pro OGRE 3D Programming銆嬩竴涔︿笓璁哄叾鐢ㄦ硶銆傛悳鐙愮殑銆婂ぉ榫欏叓閮ㄣ嬫父鎴忓氨鏄互鍏朵綔涓哄浘褰㈠紩鎿庯紝褰撶劧榪樺彟澶栧紑鍙戜簡寮曟搸鎻掑潡鍟︺傛垜鏃╃煡閬?span>OGRE寮鍙戠粍涓湁涓涓腑鍥戒漢璋㈢▼搴忓憳錛屼粬浠ュ墠鍋氫簡寰堝騫寸殑浼犵粺杞歡緙栫▼銆傛湁涓嬈″ぉ榫欏叓閮ㄦ父鎴忕殑鍥懼艦妯″潡鐨勫嚭閿欎俊鎭腑鍖呭惈浜嗕竴涓叉煇紼嬪簭鍛樼殑宸ヤ綔鐩綍錛屾湁涓涓枃浠跺す鍚嶅嵆鏄阿紼嬪簭鍛樼殑鑻辨枃鍚嶏紝鎴戞嵁姝ゆ帹鏂阿紼嬪簭鍛樺嵆鏄悳鐙愬寳浜殑涓葷▼銆傜湅鏉ヤ腑鍥藉寮婧愪簨涓氳繕鏄湁鎵璐$尞鐨勫槢錛岀帇寮婧愬摜鍝ョ殑鍔姏鐪嬫潵涓嶄細鐧借垂錛侊紙^-^錛変笉榪囨垜渚︽祴鐨勬墜娉曚篃鏈変簺鍍忕綉绔欐暟鎹簱鐖嗗簱浜嗭紝闈炲悰瀛愪箣鎵涓轟綔銆?/span>

 

RakNet

鍩轟簬UDI鐨勭綉緇滃簱錛岀珶榪樻敮鎸佸0闊充紶杈擄紝浠ュ悗鍜?span>OpenVision緇撳悎璧鋒潵鍋氫釜瑙嗚亰紼嬪簭璇曡瘯銆?/span>

 

Blender

澹拌獕鏈鐩涚殑寮婧愪笁緇村姩鐢昏蔣浠訛紝绔熻繕甯︿竴涓父鎴忓紩鎿庛傝櫧鐒舵搷浣滀互蹇嵎閿┍鍔紝涔熷氨鏄瑕佽儗涓婄櫨鏉ヤ釜蹇嵎閿墠鑳界啛緇冧嬌鐢ㄣ備絾鏄綔涓轟粠鍟嗕笟浠g爜鍙樹負寮婧愪箣浣滐紝濞佽儊涓夌淮鍟嗕笟宸ㄥご鐨勮交楠戝叺錛屽巻緇忓崄騫撮敜鐐鹼紝浠g爜杈劇櫨涓囪錛屾浠g爜鍙簲澶╀笂鏈夛紝浜洪棿鍝緱鍑犲洖鐪嬶紝鎬庡彲涓嶄綔涓洪暱鏈熺殑婧愮爜鍙傝冿紵

 

椋庨瓊

浜岀淮鍥懼艦搴撱備簯椋庡ぇ鍝ョ殑鎴愬悕涔嬩綔銆傝櫧鐒朵笉浠h〃鍏舵渶楂樻按騫籌紙鏈楂樻按騫充綔涓哄晢涓氫唬鐮佷繚瀛樺湪騫垮窞緗戞槗浜掑姩鐨?span>SVN閲屽憿錛夛紝浣嗘槸涔熷彲浠ヤ竴浠伴閲囦簡銆?/span>

 

鍦e墤鑻遍泟浼?/span>

浜岀淮RPG銆傚嚑涓綔鑰呭凡鎴愪負鎴愰兘閿﹀ぉ鐨勪富鍔涚▼搴忓憳銆傞敠澶╃殑鑰佹諱粠涓鐧句竾鍙戝錛屼笁騫存椂闂磋韓浠瘋繃浜匡紝涔熸槸涓浠f灜闆勪簡銆傝繖浠戒唬鐮佷綔涓哄嚑騫村墠鐨勫鐢熶綔鍝佷篃綆楀彲浠ヤ簡錛屽洜涓轟竴涓伐紼嬭絀剁殑鏄洓騫沖叓紼籌紝騫朵笉涓瀹氳鍝釜妯″潡澶氫箞鍑哄僵銆傚弽姝f垜鏄病鏈夋椂闂村啓榪欎箞涓涓笢涓滐紝榪炰釜緹庡伐閮芥壘涓嶅埌錛屽彧鑳芥暣澶╂兂鐫鐮磋В鍒漢鐨勮祫婧愶紙^-^錛夈?/span>

 

Boost

C++鍑嗘爣鍑嗗簱錛屾垜鎯蟲洿澶氱殑鏃跺欏彲浠ュ弬鑰冨涔犲叾婧愪唬鐮併?/span>

 

Yake

鎴戦亣鍒扮殑鏈濂界殑杞婚噺綰ф父鎴忔鏋朵簡銆傚湪浠ュ墠鎶婁竴涓伐紼嬩腑鐨勫浘褰㈠紩鎿庝粠Irrlicht鎹㈡垚OGRE鐨勫皾璇曚腑錛岄亣鍒頒簡瀹冦?span>OGRE鐨勫懆杈瑰伐紼嬪湪鎴戠湅鏉ラ兘寰堝焊鑲匡紝娌℃湁瀹屽杽鏂囨。鐨勬儏鍐典笅鐪嬭搗鏉ュ拰Linux鍐呮牳宸笉澶氥備笉榪囪繖涓?span>Yake寮曟搸鍊掓槸寰堝枩嬈€傚畠浠ヤ竴涓?span>FSM鏈夐檺鐘舵佹満浣滀負瀹炴椂紼嬪簭鐨勮皟搴︽牳蹇冿紝鐒跺悗姣忎釜妯″潡錛氱墿鐞嗐佸浘褰€佺綉緇溿佽剼鏈?span>GUI銆佽緭鍏ョ瓑絳夐兘鎻愪緵涓涓帴鍙o紝鎺ュ彛涔嬩笅鍐嶆彁渚涘埌姣忕鍏蜂綋寮婧愬紩鎿庣殑鎺ュ彛錛岀劧鍚庡啀鎺ュ叿浣撳紩鎿庛傞氳繃榪欐牱灞傚眰鎶借薄錛屾鏃朵綘鏄帴Newton Engine,ODE榪樻槸PysX閮藉彲浠ワ紱鏄帴OGRE,Crystal Space榪樻槸Irrlicht閮藉彲浠ワ紱鏄帴RakNet榪樻槸LibCurl閮藉彲浠ワ紱鏄帴Python錛?span>Lua榪樻槸Ruby閮藉彲浠ワ紝鏄帴CEGUI榪樻槸others錛屾槸鎺?span>OIS榪樻槸others錛堝懙鍛?span>,璁頒笉璧鋒潵others錛夐兘鍙互銆傛墍浠?span>Yake鏈川涓婁笉鏄?span>OGRE鐨勫懆杈廣傝櫧鐒剁敤Neoengine鐨勪漢閮藉掑悜浜嗗畠錛屼絾鏄幇鍦ㄧ増鏈繕寰堟棭銆傜壒鍒槸鎴戣涓猴紝瀛︿範鐮旂┒鏃朵竴瀹氳鏈夎繖縐嶆娊璞′箣鎶借薄錛屾帴鍙d箣鎺ュ彛鐨勪笢瑗挎妸鎬濈淮浠庡叿浣撶殑緇戝畾鎵撳紑錛岃屽紑鍙戞椂鎶借薄瑕佹湁闄愬害鐨勶紝灝卞儚钄″闀涘湪銆?span>Java澶滄湭鐪犮嬩腑璁茬殑錛岄潰鍚戝璞$敤寰楄繃婊ヤ篃浼氬緱OOOO鐥?span>(闈㈠悜瀵硅薄榪囨晱寮鴻揩鐥?span>)銆?/span>

 

Quake Doom緋誨垪

鎹寰堢粡鍏革紝鍗¢┈鍏嬭繖縐嶅紑婧愮殑榛戝綺劇灝卞煎緱璧炶銆傛妸鍟嗕笟婧愪唬鐮佹斁鍑烘潵錛岃蛋鑷繁鐨勫垱鏂頒箣璺紝璁╁埆浜鴻拷鍘誨惂銆備笉榪?span>Quake涓?span>Unreal寮曟搸鐨勪笁緇寸紪杈戝櫒鏄幇鍦ㄦ墍鏈夌紪杈戝櫒鐨勯薊紲栵紝鐪嬫潵瑕佸ソ濂界湅鐪嬩簡銆?/span>

 

Nvidia SDK 9.X

涓夌淮鍥懼艦緙栫▼鐨勫ぇ瀹濆簱錛岃繖浜?span>Diret3D涓?span>OpenGL鐨勭ず渚嬬▼搴忛兘鏄敤鏉ュ睍紺哄叾鏈鏂扮殑鏄懼崱鎶鏈殑銆傜‖浠跺巶鍟嗗線寰瀵硅蔣浠朵駭鍝佷笉鐢氬湪鎰忥紝婧愪唬鐮佺粰浣犵湅,涓滆タ緇欎綘鐢ㄥ幓鍚э紝瀛﹀畬浜嗚繕寰椾拱鎴戠殑紜歡銆?span>Intel鐨勭紪璇戝櫒錛?span>PhysX鐗╃悊寮曟搸澶ф涔熼兘鏄繖鏍楓?span>Havok浼氭妸瀹冪殑Havok鐗╃悊寮曟搸鍏嶈垂緇欏埆浜虹敤鍚楋紵鍒璇曠敤鐗堬紝榪炰釜Demo閮界湅涓嶅埌銆傛墍浠ヨ繖濂?span>SDK鐨勫唴瀹瑰彲姣?span>MS DirectX SDK閲岄潰閭d簺鍏ラ棬綰х殑紺轟緥閰峰浜嗭紝鍙嶆鎴戞槸濡傝幏鑷沖疂錛屼笁鏈堜笉鐭ユ剚婊嬪懗銆備笉榪囨樉鍗¤so-so鍝︺傛垜鐨?span>GeForce 6600鏈変袱涓変釜璺戜笉榪囧幓,宸己浜烘剰銆?/span>

 

涓夈佺綉绔欙細

www.CSDN.net

紼嬪簭鍛樺ぇ鏈惀鍚э紝杞枃涓?#8220;鏂版妧鏈”璁ㄥ帉浜嗙偣錛?span>blog鍜岀ぞ鍖烘槸綺懼崕涔嬫墍鍦ㄣ?/span>

 

www.GameRes.com

娓告垙紼嬪簭鍛樺熀鍦幫紝鏂囨。搴撲腑榪樻湁鐐逛笢瑗褲傛姇紼跨殑鎺ユ敹鑰?span>Seabug涓庡湥鍓戣嫳闆勪紶鐨勪富紼?span>Seabug浼氭槸鍚屼竴涓漢鍚楋紵涓涓湪鎴愰兘閿﹀ぉ鎷呭綋鎶鏈噸鎷呯殑楂樻墜榪樻湁鏃墮棿緇存姢緗戠珯鍚楋紵鎴戜笉寰楄岀煡銆?/span>

 

“浣曡嫤鍋氭父鎴?#8221;緗戠珯

鍚嶅瓧寰堜釜鎬э紝绔欓暱涔熸槸鍘嗗敖鍑犲勾鍓嶄駭涓氬彂灞曞垵鏈熺殑鑹伴毦鎵嶅嚭姝ゅ悕瀛椼?/span>

 

www.66rpg.com

浜岀淮娓告垙鍥劇墖璧勬簮寰堝錛岀珯闀挎煶鏌充富鎺ㄧ殑RPGMaker 杞歡涔熷彲浠ョ帺涓鐜╁惂錛屼絾瀵逛簬涓撲笟寮鍙戣呮潵璇翠笉鍙綋鐪熴?/span>

 

www.GameDev.net

璁哄潧涓湁涓嶅皯鐑績鐨勫浗澶栭珮鎵嬪湪媧誨姩銆?/span>

 

www.SourceForge.net

涓嶇敤璇翠簡錛屼笘鐣屾渶澶х殑寮婧愪唬鐮佸簱錛屽叆閲戝北鎬庡彲絀烘墜鑰岃繑錛熺湅鍒板浗澶栭偅浜涘鐢熼」鐩姩涓嶅姩灝卞儚妯″儚鏍風殑銆傦紙DirectX鐨勭褰㈠氨鏄嫳鍥界殑瀛︾敓欏圭洰錛屽湪瀛︽牎榪樿鍒や負涓嶅悎鏍箋傦級

 

www.koders.com

婧愪唬鐮佹悳绱㈠紩鎿?span>,鏀寔姝e垯琛ㄨ揪寮?span>,google Lab涓篃鏈夈傚綋浣犳煇縐嶅姛鑳藉啓涓嶅嚭鏉ユ椂,鍙互鐪嬩竴涓嬪紑婧愪唬鐮佹庝箞鍐欑殑,褰撶劧涓嶈繃鏄粎渚涘弬鑰?span>,寮婧愪唬鐮佹湭蹇呴兘鏈変駭鍝佺駭鐨勫己搴︺傝鍒?span>google,鍙湅銆?span>Google Power Tools Bible銆嬩竴涔︼紝浣犱細鍙戠幇錛?span>google鐨勪紬澶氫駭鍝佸師鏉ヤ篃鏈夎繖涔堝浣跨敤闂ㄩ亾銆?/span>

 

榪欑瘒灝忔枃瓚寵凍鍐欎簡涓澶╁崐鐨勬椂闂達紝涓嶇敱寰椾嬌鎴戝渚嵎涓鏍風殑鎶鏈綔瀹墮暱鏈熶紡妗堣緵鍕ゅ姵浣滄繁娣辨暚浣╀簡銆傜湅鏉ュ浜庝功綾嶆垨鑰呰蔣浠訛紝閮藉簲璇ュ皧閲嶄綔鑰呮垨鑰?span>programmer鐨勬墠鏅哄姵鍔?/span>



kzhang 2008-12-26 00:29 鍙戣〃璇勮
]]>
[杞琞C++娣卞害鎺㈢儲緋誨垪錛氭櫤鑳芥寚閽?Smart Pointer) [涓]http://m.shnenglu.com/bossbird/archive/2008/09/22/62434.htmlkzhangkzhangSun, 21 Sep 2008 16:37:00 GMThttp://m.shnenglu.com/bossbird/archive/2008/09/22/62434.htmlhttp://m.shnenglu.com/bossbird/comments/62434.htmlhttp://m.shnenglu.com/bossbird/archive/2008/09/22/62434.html#Feedback1http://m.shnenglu.com/bossbird/comments/commentRss/62434.htmlhttp://m.shnenglu.com/bossbird/services/trackbacks/62434.html涓婚绱㈠紩錛?/p>

涓銆佸墫鏋怌++鏍囧噯搴撴櫤鑳芥寚閽?std::auto_ptr)
   
    1.Do you Smart Pointer?
    2.std::auto_ptr鐨勮璁″師鐞?br>    3.std::auto_ptr楂樼駭浣跨敤鎸囧崡
    4.浣犳槸鍚﹁寰梥td::auto_ptr榪樹笉澶熷畬緹?

浜屻丆++鏉′歡,瀵繪壘鏋勯犳洿寮哄ぇ鐨勬櫤鑳芥寚閽?Smart Pointer)鐨?br>    絳栫暐
   
    1.鏀寔寮曠敤璁版暟鐨勫縐嶈璁$瓥鐣?br>    2.鏀寔澶勭悊澶氱璧勬簮
    3.鏀寔Subclassing
    4.鏀寔澶氱嚎紼嬫潯浠朵笅,綰跨▼瀹夊叏鐨勫縐嶈璁$瓥鐣?br>    5.鍏跺畠澶氱鐗規畩瑕佹眰涓?鍐嶆瀯閫?/p>

涓夈丟eneric Programming鍩虹鎶鏈拰Smart Pointer
    1.鍥為澶勭悊璧勬簮涓殑Traits鎶鏈?br>    2.鍥為澶氱嚎紼嬫敮鎸佺殑璁捐


鍥涖丆OM瀹炵幇涓?Smart Pointer璁捐鍘熺悊


浜斻佽憲鍚岰++搴?鏍囧噯鍜岄潪鏍囧噯)涓殑Smart Pointer鐜扮姸

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


涓銆佸墫鏋怌++鏍囧噯搴撴櫤鑳芥寚閽?std::auto_ptr)
   
    1.Do you Smart Pointer?

      Smart Pointer,涓枃鍚嶏細鏅鴻兘鎸囬拡, 鑸舵潵鍝?
      涓嶅彲鍚﹁,璧勬簮娉勯湶(resource leak)鏇劇粡鏄疌++紼嬪簭鐨勪竴澶у櫓姊?鍨冨溇鍥炴敹
      鏈哄埗(Garbage Collection)涓鏃墮鍙楁敞鐩?鐒惰屽瀮鍦捐嚜鍔ㄥ洖鏀舵満鍒跺茍涓嶈兘
      婊¤凍鍐呭瓨綆$悊鐨勫嵆鏃舵у拰鍙鎬?寰寰浣塊珮鍌茬殑紼嬪簭璁捐鑰呮劅鍒頒笉鑷湪.
      鍐典笖,C++瀹炵幇娌℃湁寮曞叆榪欑鏈哄埗.鍦ㄦ帰绱腑,C++紼嬪簭鍛樺垱閫犱簡閿嬪埄鐨?br>      "Smart Pointer".涓瀹氱▼搴︿笂,瑙e喅浜嗚祫婧愭硠闇查棶棰?

      涔熻,緇忓父鐨?浣犱細鍐欒繖鏍風殑浠g爜錛?br>      //x鎷熶負class:
      //            class x{
      //            public:       
      //                   int m_Idata;
      //            public:
      //                   x(int m_PARAMin):m_Idata(m_PARAMin){}
      //                   void print(){ cout<<m_Idata<<endl; }
      //            .....
      //            }
      //
      void fook(){
      x* m_PTRx = new A(m_PARAMin);
      m_PTRx->DoSomething();     //#2
      delete m_PTRx;
      }

      鏄殑,榪欓噷鍙兘娌′粈涔堥棶棰?鍙湪澶嶆潅銆丯琛屻乵_PTRclassobj鎵鎸囧璞$敓鍛藉懆
      鏈熻姹傝緝闀跨殑鎯呭喌涓?浣犺兘淇濊瘉浣犱笉浼氬繕璁癲elete m_PTRclassobj鍚?鐢熸椿涓?
      鎴戜滑寰寰涓嶅簲璇ユ湁澶鐨勫彛澶翠繚璇?鎴戜滑闇瑕佸仛浜涚湡姝f湁鐢ㄧ殑涓滆タ.榪樻湁涓涓?br>      鏇存晱鎰熺殑闂錛氬紓甯?鍋囧鍦?2鏂規硶鎵ц鏈熷紓甯稿彂鐢?鍑芥暟鎵ц緇堟,閭d箞new
      鍑虹殑瀵硅薄灝變細娉勯湶.浜庢槸,浣犲彲鑳戒細璇達細閭d箞灝辨崟鑾峰紓甯告潵淇濊瘉瀹夊叏鎬уソ浜?
      浣犲啓榪欐牱鐨勭▼寮忥細

      void fook(){
      A* m_PTRx = new A(m_PARAMin);
      try{
          m_PTRx->DoSomething();
      }
      catch(..){
          delete m_PTRx;
          throw;
      }
      delete m_PTRx;
      }
      鍝?澶╁摢!鎯寵薄涓涓?浣犵殑緋葷粺,鏄惁浼氳薄涓撲負鎹曡幏寮傚父鑰岃璁$殑.

      涓澶?鏈変漢緇欎綘寤鴻:"鐢⊿mart Pointer,閭e緢瀹夊叏.".浣犲彲浠ヨ繖鏍烽噸鍐欎綘鐨勭▼搴忥細
   
      void fook(){
      auto_ptr<x> m_SMPTRx(new x(m_PARAMin));
      m_SMPTRx->DoSomething();
      }

      OK!浣犱笉澶浉淇?涓嶇敤delete鍚?
      鏄殑.涓嶇敤鏁村ぉ鎻愬績鍚婅儐鐨勯棶鑷繁:"鎴戝叏閮╠elete浜嗗悧?",鑰屼笖姣斾綘鐨刣elete
      絳栫暐鏇村畨鍏?

      鐒跺悗,榪樻湁浜哄憡璇変綘,鍙互榪欐牱鐢ㄥ憿錛?br>      ok1.
      auto_ptr<x> m_SMPTR1(new x(m_PARAMin));
      auto_ptr<x> m_SMPTR2(m_SMPTR1);  //#2
      May be you can code #2 like this :
          auto_ptr<x> m_SMPTR2;
          m_SMPTR2 = m_SMPTR1;     
      ok2.
      auto_ptr<int> m_SMPTR1(new int(32));
     
      ok3.
      auto_ptr<int> m_SMPTR1;
      m_SMPTR1 = auto_ptr<int>(new int(100));
      涔熷彲浠ワ細
      auto_ptr<int> m_SMPTR1(auto_ptr<int>(new int(100)));
     
      ok4.
      auto_ptr<x> m_SMPTR1(new x(m_PARAMin));
      m_SMPTR1.reset(new x(m_PARAMin1));
     
      ok5.
      auto_ptr<x> m_SMPTR1(new x(m_PARAMin));
      auto_ptr<x> m_SMPTR2(m_SMPTR.release());
      cout<<(*m_SMPTR2).m_Idata<<endl; 
     
      ok6.
      auto_ptr<int> fook(){
      return auto<int>(new int(100));
      }
 
      ok7.............and so on
     
      浣嗕笉鍙繖鏍風敤錛?br>     
      no1.  
      char* chrarray = new char[100];
      strcpy(chrarray,"I am programming.");
      auto_ptr<char*> m_SMPTRchrptr(chrarray);
      //auto_ptr騫朵笉鍙府浣犵鐞嗘暟緇勮祫婧?nbsp;   
      
      no2.
      vector<auto_ptr<x>> m_VECsmptr;
      m_VECsmptr.push_back(auto_ptr<int>(new int(100)));
      //auto_ptr騫朵笉閫傚悎STL鍐呭.
      
      no3.
      const auto_ptr<x> m_SMPTR1(new x(100));
      auto_ptr<x> m_SMPTR(new x(200));
     
      no4.
      x m_OBJx(300);
      auto_ptr<x> m_SMPTR(&m_OBJx);
     
      no5
      x* m_PTR = new x(100);
      auto_ptr<x> m_SMPTR = m_pTR;
     
      no6..........and so on

      棰勫厛鎻愬強鎵鏈夋潈鐨勯棶棰?浠ヤ究涓嬮潰甯︾潃鐤戦棶鍓栨瀽浠g爜?

      power1.
      auto_ptr<x> m_SMPTR1(new x(100));
      auto_ptr<x> m_SMPTR2 = m_SMPTR1;
      m_SMPTR2->print();
      //杈撳嚭錛?00.
      m_SMPTR1->print();
      //!! 闈炴硶鐨?

      power2.
      auto_ptr<x> m_SMPTR(new x(100));
     
      auto_ptr<x> returnfun(auto_ptr<x> m_SMPTRin){
      return m_SMPTRin;
      }
     
      auto_ptr<x> = returnfun(m_SMPTR);  //#5

      //鍦ㄤ笂闈㈢殑#5涓?鎴戣鍛婅瘔浣犲璞℃墍鏈夋潈杞Щ浜嗕袱嬈?
      //浠涔堝彨瀵硅薄鎵鏈夋潈鍛?
  
    2. std::auto_ptr鐨勮璁″師鐞?/strong>
      
      涓婇潰鐨勪竴鐗囨紜敤娉?瀹冧滑鍦ㄥ共浜涗粈涔?
            涓鐗囬潪娉?瀹冧滑鐘簡浠涔堢姜?
            涓鐗囦粈涔堟墍鏈夋潈杞Щ,瀹冪殑鍐呴儴鏈烘櫤鏄粈涔?
      鍝?涓澶撮浘姘?涓嬮潰鎴戜滑灝辨潵鍓栨瀽鍏跺疄鐜版満鍒?
      鍩虹鐭ヨ瘑錛?br>              a.鏅鴻兘鎸囬拡鐨勫叧閿妧鏈細鍦ㄤ簬鏋勯犳爤涓婂璞$殑鐢熷懡鏈熸帶鍒?br>                鍫嗕笂鏋勯犵殑瀵硅薄鐨勭敓鍛芥湡.鍥犱負鍦ㄦ櫤鑳芥寚閽堢殑鍐呴儴,瀛樺偍
                鐫鍫嗗璞$殑鎸囬拡,鑰屼笖鍦ㄦ瀯鏋愬嚱鏁頒腑璋冪敤delete琛屼負.
                澶ц嚧鏈烘瀯濡備笅錛?br>                x* m_PTRx = new x(100);//#1
                template<typename T>
                auto_ptr{
                private:
                T* m_PTR;//緇存姢鎸囧悜鍫嗗璞$殑鎸囬拡,鍦╝uto_ptr瀹氫綅鍚?nbsp;   
                ....     //瀹冨簲璇ユ寚鍚?1鏋勯犵殑瀵硅薄,鍗蟲嫢鏈夋墍鏈夋潈.
                ~auto(){ delete m_PTR; }
                ....
                }
             b.鎵鏈夋潈杞Щ涔嬭
               涓婇潰鏇炬湁涓闈炴硶鐨勭▼寮忕墖孌靛涓嬶細
               auto_ptr<x> m_SMPTR1(new x(100));
               auto_ptr<x> m_SMPTR2 = m_SMPTR1;
               m_SMPTR2->print();
               //杈撳嚭錛?00.
               m_SMPTR1->print();
               //!! 闈炴硶鐨?
               鎸夊父鐞嗘潵璇?m_SMPTR->print();鎬庝箞鏄潪娉曠殑鍛?
               閭f槸鍥犱負鏈潵,m_SMPTR1緇存姢鎸囧悜new x(100)鐨勬寚閽?
               鍙槸m_SMPTR2 = m_SMPTR1;auto_ptr鍐呴儴鏈哄埗浣垮緱m_SMPTR1灝嗗璞$殑鍦板潃
               浼犵粰m_SMPTR2,鑰屽皢鑷繁鐨勫璞℃寚閽堢疆涓?.
               閭d箞鑷劧m_SMPTR->print();澶辮觸.
               榪欓噷紼嬪簭璁捐鑰呰璐熸槑鏄劇殑鑱岃矗鐨?
               閭d箞auto_ptr涓轟粈涔堥噰鍙栬繖鏍風殑絳栫暐錛氫繚璇佹墍鏈夋潈鐨勫崟涓鎬?
                                               浜︿繚璇佷簡緋葷粺瀹夊叏鎬?
               濡傛灉澶氫釜鏈夊叏鏉冪殑auto_ptr緇存姢涓涓璞?閭d箞鍦ㄤ綘娑堥櫎涓涓?br>               auto_ptr鏃?灝嗗鑷村涓猘uto_ptr鐨勬綔鍦ㄥ嵄闄?
     
       涓嬮潰鎴戜滑浠GI-STL鐨刟uto_ptr璁捐涓烘牱鏈?鍘繪帀浜嗘棤鍏沖垎鏋愮殑瀹?,鏉ュ墫鏋愬叾鍘熺悊.
       #1  template <class _Tp> class auto_ptr {
       #2  private:
       #3  _Tp* _M_ptr;  //瀹氫箟灝嗙淮鎶ゅ爢瀵硅薄鐨勬寚閽?/p>

       #4  public:
       #5  typedef _Tp element_type;  //鐩稿叧綾誨瀷瀹氫箟
       #6  explicit auto_ptr(_Tp* __p = 0) __STL_NOTHROW : _M_ptr(__p) {}
       #7  auto_ptr(auto_ptr& __a) __STL_NOTHROW : _M_ptr(__a.release()) {}
       #8  template <class _Tp1> auto_ptr(auto_ptr<_Tp1>& __a) __STL_NOTHROW
                                                 : _M_ptr(__a.release()) {}
           //#6銆?7銆?8鏄痑uto_ptr鏋勯犲嚱鏁扮殑涓変釜鐗堟湰.
           //#6娉ㄩ噴錛氫紶鍏ュ璞$殑鎸囬拡,鏋勯燼uto_ptr.explicit鍏抽敭瀛?紱佹闅愬紡杞崲.
           //        榪欏氨鏄痮k2姝g‘,鑰宯o5(闅愬紡杞崲)閿欒鐨勫師鍥?
           //#7娉ㄩ噴錛氭嫹璐濇瀯閫犲嚱鏁?
           //        浼犲叆auto_ptr瀹炰緥,鏋勯燼uto_ptr. ok1銆乷k3浣跨敤浜嗚繖涓瀯閫犲紡.
           //        瀹冩槸涓涓緢鍏抽敭鐨勬瀯閫犲嚱鏁?鍦ㄥ叿浣撴儏鍐典笅,鎴戜滑鍐嶅垎鏋?br>           //#8娉ㄩ噴錛歛uto_ptr鐨勬ā鏉挎垚鍛?鍙湪緇ф壙瀵硅薄閲嶈澆鐨勫熀紜涓?瀹炵幇鐗規畩鍔熻兘.
           //  
           //   涓句緥錛?br>           //   class A{ public:
           //          virtual void fook(){cout<<"I am programming"<<endl;
           //          /*..........*/                                   };
           //   class B : public A {
           //          virtual void fook(){ cout<<"I am working"<<endl;
           //         /*...........*/                                  }; 
           //   auto_ptr<A> m_SMPTRa(new A(33));//瀹炶川錛?br>           //   auto_ptr<B> m_SMPTRb(m_SMPTRa); //鍩虹被鐨勬寚閽堝彲浠ヨ祴緇欐淳鐢熺被鐨勬寚閽?nbsp;        
           //             
           //   auto_ptr<B> m_SMPTRb(new B(44));//瀹炶川錛?br>           //   auto_ptr<A> m_SMPTRa(m_SMPTRb); //媧劇敓綾葷殑鎸囬拡涓嶅彲璧嬬粰鍩虹被鐨勬寚閽?br>           //      
           //   auto_ptr<A> m_SMPTRa(new B(33));  // ok! 
           //   m_SMPTRa->fook()灝嗚皟鐢ㄦ淳鐢熺被B鐨刦ook()
           //   m_SMPTRa->A::fook()灝嗚皟鐢ㄥ熀綾籄鐨刦ook()
           //   
           //   auto_ptr<B> m_SMPTRb(new A(33));  // wrong!
           //  
           //  
       #9  auto_ptr& operator=(auto_ptr& __a) __STL_NOTHROW {
       #10 if (&__a != this) { delete _M_ptr;  _M_ptr = __a.release(); }
       #11 return *this;
       #12 }
        
       #13 template <class _Tp1>
       #14 auto_ptr& operator=(auto_ptr<_Tp1>& __a) __STL_NOTHROW {
       #15 if (__a.get() != this->get()) { delete _M_ptr; _M_ptr = __a.release(); }
       #16 return *this;
       #16 } 
          //
          // #9~~#16 涓や釜鐗堟湰鐨勬寚媧懼嚱鏁?
          //         delete _M_ptr; 鍦ㄦ寚媧懼墠,閿姣佸師緇存姢鐨勫璞?
          //         _a.release() ; release鎿嶄綔,璇︾粏浠g爜鍙傝#20~~#23.
          //                        鐢ㄤ簬*this鑾峰緱琚寚媧懼璞?
          //                        涓斿皢鍘熺淮鎶uto_ptr緗┖.
          //     no3浣跨敤浜嗙涓縐嶆寚媧?
          //     鑰屾潈闄愯漿縐繪鏄痏a.release()鐨勭粨鏋?
         
       #17 ~auto_ptr() __STL_NOTHROW { delete _M_ptr; }
          //鏋勬瀽鍑芥暟.娑堥櫎瀵硅薄.娉ㄦ剰榪欓噷瀵瑰璞$殑瑕佹眰!
         
       #17 _Tp& operator*() const __STL_NOTHROW {  return *_M_ptr; }
       #18 _Tp* operator->() const __STL_NOTHROW { return _M_ptr;  }
       #19 _Tp* get() const __STL_NOTHROW { return _M_ptr; }
         //
         //  鎿嶄綔絎﹂噸杞?
         // #17娉ㄩ噴錛氭彁棰嗘搷浣?dereference),鑾峰緱瀵硅薄. 瑙乷k5鐢ㄦ硶.
         // #18娉ㄩ噴錛氭垚鍛樿繍綆楃閲嶈澆,榪斿洖瀵硅薄鎸囬拡.
         // #19娉ㄩ噴錛氭櫘閫氭垚鍛樺嚱鏁?浣滅敤鍚屼簬閲嶈澆->榪愮畻絎?br>         //
       #20 _Tp* release() __STL_NOTHROW {
       #21 _Tp* __tmp = _M_ptr;
       #22 _M_ptr = 0;
       #23 return __tmp;                }
         //涓婇潰宸茬粡璇﹁В     
 
       #24 void reset(_Tp* __p = 0) __STL_NOTHROW {
       #25 delete _M_ptr;
       #26 _M_ptr = __p;                          }
         //
         //浼犲叆瀵硅薄鎸囬拡,鏀瑰彉auto_ptr緇存姢鐨勫璞?br>         //       涓旇揩浣縜uto_ptr娑堥櫎鍘熸潵緇存姢鐨勫璞?br>         //       瑙乷k3鐢ㄦ硶.

         // According to the C++ standard, these conversions are required.  Most
         // present-day compilers, however, do not enforce that requirement---and,
         // in fact, most present-day compilers do not support the language
         // features that these conversions rely on.
        
         //涓嬮潰榪欑墖孌電敤浜庣被鍨嬭漿鍖?鐩墠娌℃湁浠諱綍緙栬瘧鍣ㄦ敮鎸?br>         //鍏蜂綋鎶鏈粏鑺備笉璇?         

         #ifdef __SGI_STL_USE_AUTO_PTR_CONVERSIONS

      #27 private:
      #28 template<class _Tp1>
      #29 struct auto_ptr_ref { _Tp1* _M_ptr; auto_ptr_ref(_Tp1* __p) : _M_ptr(__p) {}
                             };

      #30 public:
      #31 auto_ptr(auto_ptr_ref<_Tp> __ref) __STL_NOTHROW
                               : _M_ptr(__ref._M_ptr) {}
      #32 template <class _Tp1>
      #33 operator auto_ptr_ref<_Tp1>() __STL_NOTHROW
      #34 { return auto_ptr_ref<_Tp>(this->release()); }
      #35 template <class _Tp1> operator auto_ptr<_Tp1>() __STL_NOTHROW
      #36 { return auto_ptr<_Tp1>(this->release()); }
      #37 #endif /* __SGI_STL_USE_AUTO_PTR_CONVERSIONS */
      #38 };
     
      OK!灝辨槸榪欐牱浜?
      姝e涓婇潰鍘熺悊浠嬬粛澶勫彊璇?
      浣犻渶瑕佹瑙嗕袱澶х壒鎬э細
      1.鏋勯犳爤瀵硅薄鐨勭敓鍛芥湡鎺у埗鍫嗕笂鏋勯犵殑瀵硅薄鐨勭敓鍛芥湡
      2.閫氳繃release鏉ヤ繚璇乤uto_ptr瀵瑰璞$殑鐙潈.
     
     鍦ㄦ垜浠婧愮爜鍒嗘瀽鐨勫熀紜涓?閲嶇偣鐪嬬湅錛?br>     no緋誨垪閿欒鍦ㄤ綍澶?
     no1.
         鎴戜滑鐪嬪埌鏋勬瀽鍑芥暟template<class _Tp>
                         ~auto_ptr() _STL_NOTHROW
                        { delete _M_ptr; }
         鎵浠ュ畠涓嶈兘緇存姢鏁扮粍,
         緇存姢鏁扮粍闇瑕佹搷浣滐細delete[] _M_ptr;
     no2.
        鍏堟彁閮ㄥ垎vector鍜宎uto_ptr浠g爜錛?br>        a.鎻恆uto_ptr浠g爜
         
        auto_ptr(auto_ptr& __a) __STL_NOTHROW : _M_ptr(__a.release()) {}
       
        b.鎻恦ector浠g爜
         
          Part1:
          void push_back(const _Tp& __x) {
          if (_M_finish != _M_end_of_storage) {
          construct(_M_finish, __x);
          ++_M_finish;
          }
          else
         _M_insert_aux(end(), __x);
          }
       
         Part2:
         template <class _T1, class _T2>
         inline void construct(_T1* __p,

         //++++++++++++++++++++++++++++++++
         //         const _T2& __value) { +
         //++++++++++++++++++++++++++++++++
         //  new (__p) _T1(__value);      +
         //++++++++++++++++++++++++++++++++

         }
        
         Part3.
         template <class _Tp, class _Alloc>
         void
         vector<_Tp, _Alloc>::_M_insert_aux
         (iterator __position,

          //++++++++++++++++++++++++++++++++
          //        const _Tp& __x)       ++
          //++++++++++++++++++++++++++++++++  
 
         {
         if (_M_finish != _M_end_of_storage) {
         construct(_M_finish, *(_M_finish - 1));
         ++_M_finish;

         //++++++++++++++++++++++++++++++++
         //     _Tp __x_copy = __x;       +
         //++++++++++++++++++++++++++++++++

         copy_backward(__position, _M_finish - 2, _M_finish - 1);
         *__position = __x_copy;
         }
         else {
         const size_type __old_size = size();
         const size_type __len = __old_size != 0 ? 2 * __old_size : 1;
         iterator __new_start = _M_allocate(__len);
         iterator __new_finish = __new_start;
         __STL_TRY {
         __new_finish = uninitialized_copy
         (_M_start, __position, __new_start);
         construct(__new_finish, __x);
         ++__new_finish;
         __new_finish = uninitialized_copy
        (__position, _M_finish, __new_finish);
        }
        __STL_UNWIND((destroy(__new_start,__new_finish),
                  _M_deallocate(__new_start,__len)));
       destroy(begin(), end());
       _M_deallocate(_M_start, _M_end_of_storage - _M_start);
       _M_start = __new_start;
       _M_finish = __new_finish;
       _M_end_of_storage = __new_start + __len;
       }
       }

       浠庢彁鍙栫殑vector浠g爜,Part1鍙湅鍑?push_back鐨勬搷浣滆涓?
       鍏靛垎涓よ礬,鍙槸鍐嶅悜涓嬬湅,浣犱細鍙戠幇,鏃犱竴渚嬪,閮?br>       閫氳繃const _Tp& 榪涜鎷瘋礉琛屼負,閭d箞浠巃uto_ptr鎻愬嚭鐨勭墖孌靛氨
       媧句笂鐢ㄥ満浜?
       鍙綘鐭ラ亾鐨?auto_ptr鎬繪槸鍧氭寔瀵瑰璞$殑鐙潈.閭e繀欏諱慨鏀?br>       鍘熸潵緇存姢鐨勫璞?鑰寁ector琛屼負瑕佹眰const _Tp&,榪欐牱鑷劧浼氫駭鐢?br>       闂.涓鑸紪璇戝櫒鏄彲浠ュ彂瑙夎繖縐嶉敊璇殑.

       鍏跺疄,STL鎵鏈夌殑瀹瑰櫒綾婚兘閲囩敤const _Tp&絳栫暐.
 
       //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      + 鐪嬩簡sutter鍜孞osuttis鐨勪袱綃囨枃绔犱腑,閮芥彁鍙婏細                    +
      + STL瀹瑰櫒涓嶆敮鎸乤uto_ptr鍘熷洜鍦ㄤ簬copy鐨勫璞″彧鏄幏寰楁墍鏈夋潈鐨勫璞? +
      + 榪欑瀵硅薄涓嶇鍚圫TL鐨勮姹?鍙槸鏈漢鎬繪劅瑙夊嵆鏃朵笉鏄湡姝g殑澶嶅埗瀵硅薄,+
      + 浣嗘垜鐢╲ector<auto_ptr<x> >鐨勭洰鐨勫氨鍦ㄤ簬緇存姢瀵硅薄,騫朵笉鍦ㄤ箮      +
      + 鎵璋撶殑瀹屽叏瀵硅薄.鑰屼笖鎴戠敤鑷繁鍐欑殑Smart Pointer閰嶅悎STL瀹瑰櫒宸ヤ綔, +
      + 寰堟甯?閭i渶瑕佹敞鎰忕殑浠呬粎鏄痗onst闂.                          +
      +                                                              +
      //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

     no3.
        榪欎釜涔熸槸auto_ptr闅愬惈鐨勬墍鏈夋潈闂寮曡搗鐨?
        const auto_ptr涓嶅厑璁鎬慨鏀?
        闅忎究鎻愬強錛歝onst瀵硅薄涓嶄唬琛ㄥ璞′竴鐐逛笉鍙互鏀瑰彉.
                  鍦ㄤ袱縐峜onst璇箟涓?閮芥湁鏂規硶淇敼瀵硅薄鎴栧璞″唴閮ㄦ寚閽堢淮鎶ょ殑瀵硅薄
                 鎴栧叾瀹冭祫婧?
     no4.
        鍐嶇湅auto_ptr鐨勬瀯鏋愬嚱鏁?
        delete涓嶅彲浠ユ秷闄ゆ爤涓婅祫婧?

     no5.
        渚濊禆浼犲叆瀵硅薄鎸囬拡鐨勬瀯閫犲嚱鏁拌澹版槑涓篹xplicit,紱佹闅愬紡杞崲.

   
    3.auto_ptr楂樼駭浣跨敤鎸囧崡
     
      a.綾繪垚鍛榓uto_ptr,紱佹鏋勯犲嚱鏁頒互鏋勫緩"瀹屽叏瀵硅薄"
        Programme1:
        struct Structx{
               int m_Idata;
               char m_CHRdata;
               /* and so on */
        };
        鍑轟簬瀵硅薄緙栫▼鐨勭悊蹇?
        鎴戜滑灝哠tructx鎵撻犳垚鍖呰9綾伙細
        class StructWrapper{
        private:
        Structx* m_STRTxptr;
        public:
        StructWrapper():m_STRTxptr(new Structx){}
        ~StructWrapper(){delete m_SMRTxptr; }
        public:
        void Soperator1(){ /* 閽堝Structx瀵硅薄鐨勭壒鎬ф搷浣?*/}
        void Soperator2(){ /* 閽堝Structx瀵硅薄鐨勭壒鎬ф搷浣?*/}       
        /*  and so on */
        };
       
        Programme2:
        class StructWrapper{
        private:
        auto_ptr<Structx> m_SMPTRx;
        public:
        StructWrapper():m_SMPTRAx(new Structx){}
        public:
        void Soperator1(){ /* 閽堝Structx瀵硅薄鐨勭壒鎬ф搷浣?*/}
        void Soperator2(){ /* 閽堝Structx瀵硅薄鐨勭壒鎬ф搷浣?*/}       
        /*  and so on */
        };
       
        Programme3:
        StructWrapper::StructWrapper(const StructWrapper& other)
        : M_SMPTRx(new Struct(*other.m_SMPTRx)) { }
        StructWrapper& StructWrapper::operator=(const StructWrapper &other){
        *m_SMPTRx = *other.m_SMPTRx;
        };

        澶勪簬瀵規瀯寤轟簬鍫嗕腑鐨勫璞?new Structx)鏅鴻兘緇存姢鐨勯渶瑕?
        鎴戜滑灝唒rogramme1鏀歸犱負programme2錛?br>        涓嶉敊,瀵硅薄鏄彲浠ユ櫤鑳界淮鎶や簡.
        瀵逛簬鍖呰9綾?StructWrapper)浣犳槸鍚︿細鏈夎繖鏍風殑鏋勯犳垨鎸囨淳鎿嶄綔錛?br>         StructWrapper m_SMPTRWrapper2(m_SMPTRWrapper1);
      
         StructWrapper mSMPTRWrapper2 = m_SMPTRWrapper1;
         閭d箞璇鋒敞鎰忥細
         褰撲綘鍧︾劧鐨勬潵涓涓細M_SMPTRWrapper1->Soperator1();鐨勬椂鍊?
         緋葷粺宕╂簝浜?
         涓嶅繀鎯婅,鎵鏈夋潈榪樻槸鎵鏈夋潈闂.
         闂竴涓嬭嚜宸憋細褰損rogramme2榛樿鎷瘋礉鏋勯犲嚱鏁頒綔鐢ㄦ椂,鍙堣皟鐢ㄤ簡auto_ptr鐨?br>         榛樿鏋勯犲嚱鏁?閭d箞auto_ptr鎵鏈夌殑榛樿琛屼負閮介伒寰嫭鏉冪瓥鐣?瀵?灝辮繖鏍?
         m_SMPTRWrapper1鐨勫璞℃墍鏈夋潈杞Щ緇欎簡m_SMPTRWrapper2.
         M_SMPTRWrapper1->Soperator1();閭d箞鎿嶄綔鍙樻垚浜嗗湪NULL涓婄殑.
         鍝?緋葷粺涓嶅穿婧冩墠鎬?
         閭d箞浣犻渶瑕佹兂,programme3閭f牱鍒╃敤auto_ptr鐨勬彁棰嗘搷浣滅鑷繁鐨?br>         鏋勯?瀹屽叏瀵硅薄".

       b.鍒╃敤const鍏抽敭瀛?闃叉涓嶇粡鎰忕殑鏉冮檺杞Щ
        
         浠庝笂闈㈢殑鍙欒堪,浣犲彲鐪嬪嚭,鎵鏈夋潈杞Щ鍒板鍙互閰挎垚澶хジ.
         鑰屽浜庝竴鑸簲鐢ㄦ潵璇?鐙潈鍙堟槸寰堝ソ鐨勫畨鍏ㄦх瓥鐣?
         閭d箞鎴戜滑灝辯敤const鏉ヤ慨楗癮uto_ptr,紱佹涓嶇粡鎰忕殑閿欒.
       
         褰撶劧涓婇潰鎻愬強錛氬茍涓嶄唬琛╝uto_ptr鏄笉鍙慨鏀圭殑.
         澶勪簬闇瑕?浠庝袱縐峜onst璇箟,浣犻兘鍙疄鐜頒慨鏀?

         鐒?浣犺繕甯屾湜鍦ㄥ嚱鏁頒紶鍏ヤ紶鍑篴uto_ptr閭d箞浣犲彲浼犻抋uto_ptr鐨勫紩鐢?
         閭e氨涓囨棤涓澶變簡: void fook(const auto_ptr<x>& m_PARAMin);
         鍦ㄨ繑鍥炲悗璧嬩簣鍏跺畠鏃?浣跨敤寮曠敤鏄笉琛岀殑.浣犲緱鐢ㄦ寚閽?
         鍥犱負寮曠敤鏃犺浣滀負lvalue榪樻槸rvaluev,閮戒細璋冪敤鏋勯犳垨鎸囨淳鍑芥暟.


    4.浣犳槸鍚﹁寰梥td::auto_ptr榪樹笉澶熷畬緹?/font>
     
      鍦ㄥ疄璺典腑,std::auto_ptr鑳芥弧瓚充綘鐨勯渶姹傚悧?          
 
      Andrei Alexandrescu鍦ㄤ竴綃囨枃绔犱腑,鎻愬強錛氭湁鍏砈mart Pointer鐨勬妧鏈氨鍍?br>      宸湳.Smart Pointer浣滀負C++鍨冨溇鍥炴敹鏈哄埗鐨勬牳蹇?瀹冨繀欏昏凍澶熷己澶х殑銆佸叿鏈夊伐涓氬己搴﹀拰瀹夊叏鎬?
      浣嗕負浜嗗彲涓鍔蟲案閫告垜浠繕闇瑕佹姭鑽嗘柀媯樼戶緇帰绱?

      涓嬮潰鍦ㄩ渶姹傚眰闈笂,鎴戜滑鎬濈儲涓涓嬫垜浠殑鏅鴻兘鎸囬拡榪橀渶瑕佷簺浠涔?
 
        a. std::auto_ptr 鑳藉澶勭悊鏁扮粍鍚?鎴戜滑鍙互鐢ㄦ櫤鑳芥寚閽堟潵綆$悊鍏跺畠鐨勮祫婧愬悧?
           璀涓涓嚎紼嬪彞鏌勩佷竴涓枃浠跺彞鏌?and so on !
        b. 瀵逛簬鎴戜滑鐨勫璞$湡鐨勬案榪滃疄琛岀嫭鏉冩斂絳栧悧?
        c. Our 鏅鴻兘鎸囬拡榪橀渶瑕佸湪緇ф壙鍜岃櫄鎷熷眰闈笂鍙戞尌濞佸姏 !
        d. 寰寰,闇瑕佹墿灞昈ur 鏅鴻兘鎸囬拡鐨勫姛鑳芥垚鍛樺嚱鏁版潵婊¤凍鍔ㄦ佺殑闇瑕?!
        e. 涔熻,浣犻渶瑕佺殑榪樺緢澶?

---------------------------------------------------------------
                       [涓嬬畫]

浜屻丆++鏉′歡,瀵繪壘鏋勯犳洿寮哄ぇ鐨勬櫤鑳芥寚閽?Smart Pointer)鐨?br>    絳栫暐
   
    1.鏀寔寮曠敤璁版暟鐨勫縐嶈璁$瓥鐣?br>    2.鏀寔澶勭悊澶氱璧勬簮
    3.鏀寔Subclassing
    4.鏀寔澶氱嚎紼嬫潯浠朵笅,綰跨▼瀹夊叏鐨勫縐嶈璁$瓥鐣?br>    5.鍏跺畠澶氱鐗規畩瑕佹眰涓?鍐嶆瀯閫?/p>

涓夈丟eneric Programming鍩虹鎶鏈拰Smart Pointer
    1.鍥為澶勭悊璧勬簮涓殑Traits鎶鏈?br>    2.鍥為澶氱嚎紼嬫敮鎸佺殑璁捐


鍥涖丆OM瀹炵幇涓?Smart Pointer璁捐鍘熺悊


浜斻佽憲鍚岰++搴?鏍囧噯鍜岄潪鏍囧噯)涓殑Smart Pointer鐜扮姸

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

--------------------------------------------------------------
                          閮戦噸澹版槑錛?br>                 鍏佽澶嶅埗銆佷慨鏀廣佷紶閫掓垨鍏跺畠琛屼負
                 浣嗕笉鍑嗙敤浜庝換浣曞晢涓氱敤閫?
                      鍐欎簬  20/3/2003
                      鏈鍚庝慨鏀癸細 20/3/2003
                         By RedStar81
                      81_RedStar@163.com
-------------------------------------------------------------     



kzhang 2008-09-22 00:37 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              欧美日韩午夜剧场| 麻豆乱码国产一区二区三区| 国产精品一区二区在线| 欧美三区在线视频| 国产精品久久久久aaaa九色| 欧美亚州一区二区三区 | 国产欧亚日韩视频| 国产亚洲激情视频在线| 在线观看av不卡| 99精品欧美一区二区三区综合在线| 99视频在线精品国自产拍免费观看 | 亚洲性夜色噜噜噜7777| 欧美一区免费视频| 欧美成年人视频| 亚洲免费观看高清在线观看 | 午夜视频在线观看一区二区| 久久国产天堂福利天堂| 麻豆成人综合网| 欧美色另类天堂2015| 国内激情久久| 亚洲少妇诱惑| 乱人伦精品视频在线观看| 亚洲人体一区| 亚洲欧美99| 欧美国产一区二区三区激情无套| 国产精品毛片一区二区三区 | 一本色道久久综合一区| 欧美在线网址| 欧美亚洲成人免费| 亚洲精品激情| 老司机精品久久| 亚洲天堂黄色| 欧美国产日韩一区二区在线观看| 国产乱码精品一区二区三区五月婷 | 一区二区三区高清在线| 久久亚洲私人国产精品va| 一区二区三区毛片| 欧美国产日本韩| 狠狠色综合色区| 小嫩嫩精品导航| 亚洲精品欧美| 久久黄金**| 国产欧美一区二区精品婷婷| 亚洲图片在线| 亚洲精选中文字幕| 欧美精品国产| 91久久精品国产| 免费一区二区三区| 久久精品在线观看| 国语自产偷拍精品视频偷| 午夜精品理论片| 亚洲一区二区三区在线视频| 欧美日韩免费区域视频在线观看| 亚洲第一搞黄网站| 久久综合网hezyo| 欧美在线网址| 伊人久久久大香线蕉综合直播 | 日韩一二三区视频| 亚洲电影免费观看高清| 免费日韩成人| aa级大片欧美三级| 99pao成人国产永久免费视频| 欧美精品国产精品| 99国产精品视频免费观看一公开| 亚洲国产va精品久久久不卡综合| 久久中文字幕一区| 亚洲美女av网站| 亚洲美女福利视频网站| 欧美久久99| 亚洲主播在线| 亚洲欧美精品suv| 国产一区二区三区精品久久久| 欧美在线观看视频在线| 欧美自拍丝袜亚洲| 在线观看一区| 亚洲三级视频在线观看| 欧美日韩福利在线观看| 亚洲影院在线| 欧美亚洲免费| 亚洲国产精品久久久久秋霞蜜臀| 嫩草伊人久久精品少妇av杨幂| 欧美成人一二三| 一区二区三区三区在线| 亚洲线精品一区二区三区八戒| 国产日本欧美一区二区| 老司机午夜精品视频| 欧美国产欧美综合| 欧美亚洲一级片| 久久综合九色| 亚洲午夜精品国产| 久久都是精品| 亚洲少妇最新在线视频| 欧美在线视频免费观看| 最新亚洲一区| 午夜天堂精品久久久久| 亚洲国产精品一区二区第四页av| 亚洲精品一区二区三区蜜桃久| 国产模特精品视频久久久久 | 欧美日韩中文在线观看| 久久九九精品| 欧美午夜电影在线| 欧美成人中文字幕在线| 国产精品久久久久天堂| 亚洲国产精品一区制服丝袜 | 免费亚洲一区二区| 国产精品亚洲一区二区三区在线| 欧美黄在线观看| 国产日韩欧美综合一区| 亚洲国产婷婷| 在线成人av| 亚洲欧美精品一区| 亚洲一区在线免费观看| 另类激情亚洲| 久久久久久尹人网香蕉| 国产精品美女久久久久久2018| 91久久中文| 亚洲国产欧美一区二区三区久久 | 欧美视频二区| 亚洲国产一区视频| 激情综合色综合久久| 亚洲一区中文| 亚洲一区二区欧美| 欧美精品一区二区三区一线天视频| 久久久噜噜噜久久人人看| 国产精品欧美久久| 99这里只有精品| 一区二区三区视频免费在线观看 | 欧美一区二区三区四区视频| 亚洲午夜久久久久久久久电影院| 免费91麻豆精品国产自产在线观看| 久久精品视频一| 国产欧美日韩亚洲| 亚洲一区二区三区免费在线观看 | 久久亚洲欧美| 欧美+日本+国产+在线a∨观看| 国产一区二区三区四区| 欧美在线高清| 美女国产一区| 亚洲国产三级网| 美女啪啪无遮挡免费久久网站| 牛人盗摄一区二区三区视频| 亚洲国产成人在线播放| 久热国产精品| 亚洲国产片色| 亚洲视频网站在线观看| 国产精品久久久久久久久免费樱桃 | 亚洲福利视频网| 免费日韩av片| 亚洲精品国产精品国产自| 亚洲一区二区久久| 国产午夜亚洲精品不卡| 欧美一区午夜精品| 麻豆精品91| 99精品福利视频| 欧美午夜片在线免费观看| 亚洲在线观看免费视频| 久久九九99| 亚洲精一区二区三区| 国产精品久久久久久久久久免费 | 亚洲性av在线| 国内精品久久久久伊人av| 麻豆国产精品va在线观看不卡| 亚洲国产精品久久久久| 在线亚洲精品福利网址导航| 国产精品视频网| 老司机aⅴ在线精品导航| 亚洲理伦电影| 久久免费99精品久久久久久| 亚洲精品免费在线观看| 国产精品色在线| 欧美成人一区二区三区在线观看| 99热精品在线观看| 久久亚洲午夜电影| 宅男噜噜噜66一区二区 | 亚洲欧美日韩一区在线| 在线观看91精品国产麻豆| 欧美视频中文字幕| 久久久久在线| 亚洲一区二区四区| 亚洲电影在线| 久久精品理论片| 亚洲少妇最新在线视频| 18成人免费观看视频| 国产精品一区视频网站| 欧美精品在线观看一区二区| 久久久91精品国产| 亚洲女同精品视频| 日韩视频一区二区三区| 欧美国产日韩a欧美在线观看| 亚洲女人天堂成人av在线| 亚洲国产福利在线| 国内外成人在线| 国产精品免费网站| 欧美午夜免费| 欧美日韩三区| 欧美日韩亚洲一区二区三区在线观看 | 亚洲高清在线观看| 国产欧美精品日韩| 欧美午夜美女看片| 欧美精品乱人伦久久久久久|