锘??xml version="1.0" encoding="utf-8" standalone="yes"?>…久久精品99久久香蕉国产,欧美精品色综合,亚洲人成网站影音先锋播放http://m.shnenglu.com/majianan/<br> <br> 浜烘湰鏄漢錛屼笉蹇呭埢鎰忓幓鍋氫漢錛涗笘鏈槸涓栵紝鏃犻』綺懼績鍘誨涓栵紱鑷劧鐨勬墠鏄揩涔愮殑銆? <br><br> zh-cnSun, 16 Nov 2025 08:34:19 GMTSun, 16 Nov 2025 08:34:19 GMT60鍨冨溇鏀墮泦瓚e彶錛堣漿杞斤級http://m.shnenglu.com/majianan/archive/2006/11/04/14666.html椹槈妤?/dc:creator>椹槈妤?/author>Sat, 04 Nov 2006 08:19:00 GMThttp://m.shnenglu.com/majianan/archive/2006/11/04/14666.htmlhttp://m.shnenglu.com/majianan/comments/14666.htmlhttp://m.shnenglu.com/majianan/archive/2006/11/04/14666.html#Feedback2http://m.shnenglu.com/majianan/comments/commentRss/14666.htmlhttp://m.shnenglu.com/majianan/services/trackbacks/14666.html                                            鍨冨溇鏀墮泦瓚e彶錛堣漿錛?/font>

                                                     鐜嬪拸鍒氾紝2003騫?2鏈?br>

鍐欎綔鏈枃鐨勫垵琛鋒槸鎯沖拰澶у鍒嗕韓鍨冨溇鏀墮泦錛?Garbage Collection 錛夋妧鏈畝鍗曡屾湁瓚g殑鍙戝睍鍙層傚姩絎斾箣鍓嶏紝鎴戠珯鍦ㄧ獥杈癸紝鏈涗簡鏈涙鍦ㄥ皬鍖洪噷瑁呰繍鍨冨溇鐨勬竻媧佽濺銆傚拰鐢熸椿涓幆鍗伐浜轟滑娓呰繍鍨冨溇鐨勫伐浣滅浉浼鹼紝杞歡寮鍙戦噷鐨勫瀮鍦炬敹闆嗗叾瀹炲氨鏄竴縐嶈嚜鍔ㄦ墦鎵拰娓呴櫎鍐呭瓨鍨冨溇鐨勬妧鏈紝瀹冨彲浠ユ湁鏁堥槻鑼冨姩鎬佸唴瀛樺垎閰嶄腑鍙兘鍙戠敓鐨勪袱涓嵄闄╋細(xì)鍥犲唴瀛樺瀮鍦捐繃澶氳屽紩鍙戠殑鍐呭瓨鑰楀敖錛堣繖鍜岀敓媧誨瀮鍦懼牭濉炴帓姹$閬撶殑鍗遍櫓騫舵病鏈変粈涔堟湰璐ㄧ殑涓嶅悓錛夛紝浠ュ強涓嶆伆褰撶殑鍐呭瓨閲婃斁鎵閫犳垚鐨勫唴瀛橀潪娉曞紩鐢紙榪欑被浼間簬鎴戜滑鍦ㄧ敓媧諱腑涔板埌浜嗕竴鐡跺凡緇忚繃鏈熶笁騫寸殑鐗涘ザ錛夈?

鎹巻鍙插瀹朵滑浠嬬粛錛屽洓鍗冨騫村墠鐨勫彜鍩冨強浜哄凡緇忓湪鍩庡競閲屽緩璁句簡瀹屽杽鐨勬帓姹″拰鍨冨溇娓呰繍璁炬柦錛屼竴鍗冨騫村墠鐨勪腑鍥戒漢鏇存槸淇瓚浜嗗綋鏃朵笘鐣屼笂淇濇磥鑳藉姏鏈寮虹殑閮藉競 鈥斺旈暱瀹夈備粖澶╋紝褰撴垜浠湪杞歡寮鍙戜腑浣撻獙鑷姩鍨冨溇鏀墮泦鐨勪究鎹蜂笌鑸掗傛椂錛屾垜浠嚦灝戝簲褰撶煡閬擄紝榪欑鎷掔粷鏉備貢銆佽拷姹傛暣媧佺殑“鍨冨溇鏀墮泦”綺劇鍏跺疄鏄漢綾昏嚜鍙や互鏉ュ氨宸茬粡鍏峰浜嗙殑銆?

 

鎷撹崚鏃朵唬

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

鍥藉唴鐨勭▼搴忓憳澶у鏄湪 Java 璇█涓涓嬈℃劅鍙楀埌鍨冨溇鏀墮泦鎶鏈殑宸ㄥぇ欖呭姏鐨勶紝璁稿浜轟篃鍥犳鎶?Java 鍜屽瀮鍦炬敹闆嗙湅鎴愪簡瀵嗕笉鍙垎鐨勬暣浣撱備絾浜嬪疄涓婏紝鍨冨溇鏀墮泦鎶鏈棭鍦?Java 璇█闂笘鍓?30 澶氬勾灝卞凡緇忓彂灞曞拰鎴愮啛璧鋒潵浜嗭紝 Java 璇█鎵鍋氱殑涓嶈繃鏄妸榪欓」紲炲鐨勬妧鏈甫鍒頒簡騫垮ぇ紼嬪簭鍛樿韓杈硅屽凡銆?

濡傛灉涓瀹氳涓哄瀮鍦炬敹闆嗘妧鏈壘涓涓鐢熷厔寮燂紝閭d箞錛?Lisp 璇█鎵嶆槸褰撲箣鏃犳劎鐨勪漢閫夈?1960 騫村墠鍚庤癁鐢熶簬 MIT 鐨?Lisp 璇█鏄涓縐嶉珮搴︿緷璧栦簬鍔ㄦ佸唴瀛樺垎閰嶆妧鏈殑璇█錛?Lisp 涓嚑涔庢墍鏈夋暟鎹兘浠?#8220;琛?#8221;鐨勫艦寮忓嚭鐜幫紝鑰?#8220;琛?#8221;鎵鍗犵敤鐨勭┖闂村垯鏄湪鍫嗕腑鍔ㄦ佸垎閰嶅緱鍒扮殑銆?Lisp 璇█鍏堝ぉ灝卞叿鏈夌殑鍔ㄦ佸唴瀛樼鐞嗙壒鎬ц姹?Lisp 璇█鐨勮璁¤呭繀欏昏В鍐沖爢涓瘡涓涓唴瀛樺潡鐨勮嚜鍔ㄩ噴鏀鵑棶棰橈紙鍚﹀垯錛?Lisp 紼嬪簭鍛樺氨蹇呯劧琚▼搴忎腑涓嶈鍏舵暟鐨?free 鎴?delete 璇彞娣規(guī)病錛夛紝榪欑洿鎺ュ鑷翠簡鍨冨溇鏀墮泦鎶鏈殑璇炵敓鍜屽彂灞曗斺旇鍙ラ澶栬瘽錛屼笂澶у鏃訛紝涓浣嶈佸笀鏇懼憡璇夋垜浠紝 Lisp 鏄鐜頒唬杞歡寮鍙戞妧鏈礎(chǔ)鐚渶澶х殑璇█銆傛垜褰撴椂瀵硅繖涓璇存硶涓嶄互涓虹劧錛氬竷婊′簡鍦嗘嫭鍙鳳紝鐪嬩笂鍘誨儚榪峰涓鏍風(fēng)殑 Lisp 璇█鎬庝箞鑳芥瘮 C 璇█鎴?Pascal 璇█鏇翠紵澶у憿錛熶笉榪囩幇鍦紝褰撴垜鐭ラ亾鍨冨溇鏀墮泦鎶鏈佹暟鎹粨鏋勬妧鏈佷漢宸ユ櫤鑳芥妧鏈佸茍琛屽鐞嗘妧鏈佽櫄鎷熸満鎶鏈佸厓鏁版嵁鎶鏈互鍙婄▼搴忓憳浠崇啛鑳借鐨勮澶氭妧鏈兘璧鋒簮浜?Lisp 璇█鏃訛紝鎴戠壒鍒兂鍚戦偅浣嶈佸笀褰撻潰閬撴瓑錛屽茍鏀跺洖鎴戝綋鏃剁殑騫肩鎯蟲硶銆?

鐭ラ亾浜?Lisp 璇█涓庡瀮鍦炬敹闆嗙殑瀵嗗垏鍏崇郴錛屾垜浠氨涓嶉毦鐞嗚В錛屼負(fù)浠涔堝瀮鍦炬敹闆嗘妧鏈殑涓や綅鍏堥┍鑰?J. McCarthy 鍜?M. L. Minsky 鍚屾椂涔熸槸 Lisp 璇█鍙戝睍鍙蹭笂鐨勯噸瑕佷漢鐗╀簡銆?J. McCarthy 鏄?Lisp 涔嬬埗錛屼粬鍦ㄥ彂鏄?Lisp 璇█鐨勫悓鏃朵篃絎竴嬈″畬鏁村湴鎻忚堪浜嗗瀮鍦炬敹闆嗙殑綆楁硶鍜屽疄鐜版柟寮忥紱 M. L. Minsky 鍒欏湪鍙戝睍 Lisp 璇█鐨勮繃紼嬩腑鎴愪負(fù)浜嗕粖澶╁ソ鍑犵涓繪祦鍨冨溇鏀墮泦綆楁硶鐨勫鍩轟漢鈥斺斿拰褰撴椂涓嶅皯鎶鏈ぇ甯堢殑緇忓巻鐩鎬技錛?J. McCarthy 鍜?M. L. Minsky 鍦ㄨ澶氫笉鍚岀殑鎶鏈鍩熼噷閮藉彇寰椾簡浠や漢鑹崇盡鐨勬垚灝便備篃璁革紝鍦?1960 騫翠唬閭d釜杞歡寮鍙戝彶涓婄殑鎷撹崚鏃朵唬閲岋紝鎬濈淮鏁忔嵎銆佹剰蹇楀潥瀹氱殑鐮旂┒鑰呮洿瀹規(guī)槗鎴愪負(fù)鏃犳墍涓嶈兘鐨勮タ閮ㄧ‖姹夊惂銆?

鍦ㄤ簡瑙e瀮鍦炬敹闆嗙畻娉曠殑璧鋒簮涔嬪墠錛屾湁蹇呰鍏堝洖欏句竴涓嬪唴瀛樺垎閰嶇殑涓昏鏂瑰紡銆傛垜浠煡閬擄紝澶у鏁頒富嫻佺殑璇█鎴栬繍琛岀幆澧冮兘鏀寔涓夌鏈鍩烘湰鐨勫唴瀛樺垎閰嶆柟寮忥紝瀹冧滑鍒嗗埆鏄細(xì)

涓銆侀潤鎬佸垎閰嶏紙 Static Allocation 錛夛細(xì)闈欐佸彉閲忓拰鍏ㄥ眬鍙橀噺鐨勫垎閰嶅艦寮忋傛垜浠彲浠ユ妸闈欐佸垎閰嶇殑鍐呭瓨鐪嬫垚鏄閲岀殑鑰愮敤瀹跺叿銆傞氬父錛屽畠浠棤闇閲婃斁鍜屽洖鏀訛紝鍥犱負(fù)娌′漢浼?xì)澶╁ぉ鎶婂ぇ琛f煖褰撲綔鍨冨溇鎵斿埌绐楀銆?

浜屻佽嚜鍔ㄥ垎閰嶏紙 Automatic Allocation 錛夛細(xì)鍦ㄦ爤涓負(fù)灞閮ㄥ彉閲忓垎閰嶅唴瀛樼殑鏂規(guī)硶銆傛爤涓殑鍐呭瓨鍙互闅忕潃浠g爜鍧楅鍑烘椂鐨勫嚭鏍堟搷浣滆鑷姩閲婃斁銆傝繖綾諱技浜庡埌瀹朵腑涓查棬鐨勮瀹紝澶╄壊涓鏅氬氨瑕佸悇鍥炲悇瀹訛紝闄や簡涓埆涓嶈瘑鏃跺姟鑰呬互澶栵紝鎴戜滑涓鑸病蹇呰鎶婂浜烘崋鍦ㄥ瀮鍦捐閲屾壂鍦板嚭闂ㄣ?

涓夈佸姩鎬佸垎閰嶏紙 Dynamic Allocation 錛夛細(xì)鍦ㄥ爢涓姩鎬佸垎閰嶅唴瀛樼┖闂翠互瀛樺偍鏁版嵁鐨勬柟寮忋傚爢涓殑鍐呭瓨鍧楀ソ鍍忔垜浠棩甯鎬嬌鐢ㄧ殑槨愬肪綰革紝鐢ㄨ繃浜嗗氨寰楁墧鍒板瀮鍦劇閲岋紝鍚﹀垯灞嬪唴灝變細(xì)婊″湴鐙艱棄銆傚儚鎴戣繖鏍風(fēng)殑鎳掍漢鍋氭ⅵ閮芥兂鏈変竴鍙板鐢ㄦ満鍣ㄤ漢璺熷湪韜竟鎵撴壂鍗敓銆傚湪杞歡寮鍙戜腑錛屽鏋滀綘鎳掑緱閲婃斁鍐呭瓨錛岄偅涔堜綘涔熼渶瑕佷竴鍙扮被浼肩殑鏈哄櫒浜衡斺旇繖鍏跺疄灝辨槸涓涓敱鐗瑰畾綆楁硶瀹炵幇鐨勫瀮鍦炬敹闆嗗櫒銆?

涔熷氨鏄錛屼笅闈㈡彁鍒扮殑鎵鏈夊瀮鍦炬敹闆嗙畻娉曢兘鏄湪紼嬪簭榪愯榪囩▼涓敹闆嗗茍娓呯悊搴熸棫“槨愬肪綰?#8221;鐨勭畻娉曪紝瀹冧滑鐨勬搷浣滃璞℃棦涓嶆槸闈欐佸彉閲忥紝涔熶笉鏄眬閮ㄥ彉閲忥紝鑰屾槸鍫嗕腑鎵鏈夊凡鍒嗛厤鍐呭瓨鍧椼?


 

寮曠敤璁℃暟錛?Reference Counting 錛夌畻娉?/font>

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

1960 騫翠互鍓嶏紝浜轟滑涓鴻儦鑳庝腑鐨?Lisp 璇█璁捐鍨冨溇鏀墮泦鏈哄埗鏃訛紝絎竴涓兂鍒扮殑綆楁硶鏄紩鐢ㄨ鏁扮畻娉曘傛嬁槨愬肪綰哥殑渚嬪瓙鏉ヨ錛岃繖縐嶇畻娉曠殑鍘熺悊澶ц嚧鍙互鎻忚堪涓猴細(xì)

鍗堥鏃訛紝涓轟簡鎶婅剳瀛愰噷紿佺劧璺沖嚭鏉ョ殑璁捐鐏墊劅璁頒笅鏉ワ紝鎴戜粠槨愬肪綰歌涓娊鍑轟竴寮犻宸劇焊錛屾墦綆楀湪涓婇潰鐢誨嚭緋葷粺鏋舵瀯鐨勮摑鍥俱傛寜鐓?#8220;槨愬肪綰鎬嬌鐢ㄨ綰︿箣寮曠敤璁℃暟鐗?#8221;鐨勮姹傦紝鐢誨浘涔嬪墠錛屾垜蹇呴』鍏堝湪槨愬肪綰哥殑涓瑙掑啓涓婅鏁板?1 錛屼互琛ㄧず鎴戝湪浣跨敤榪欏紶槨愬肪綰搞傝繖鏃訛紝濡傛灉浣犱篃鎯崇湅鐪嬫垜鐢葷殑钃濆浘錛岄偅浣犲氨瑕佹妸槨愬肪綰鎬笂鐨勮鏁板煎姞 1 錛屽皢瀹冩敼涓?2 錛岃繖琛ㄦ槑鐩墠鏈?2 涓漢鍦ㄥ悓鏃朵嬌鐢ㄨ繖寮犻宸劇焊錛堝綋鐒訛紝鎴戞槸涓嶄細(xì)鍏佽浣犵敤榪欏紶槨愬肪綰告潵鎿﹂薊娑曠殑錛夈備綘鐪嬪畬鍚庯紝蹇呴』鎶婅鏁板煎噺 1 錛岃〃鏄庝綘瀵硅槨愬肪綰哥殑浣跨敤宸茬粡緇撴潫銆傚悓鏍鳳紝褰撴垜灝嗛宸劇焊涓婄殑鍐呭鍏ㄩ儴瑾婂啓鍒扮瑪璁版湰涓婁箣鍚庯紝鎴戜篃浼?xì)鑷鍦版妸椁愬穭『镐笂鐨勮鏁板煎噺 1 銆傛鏃訛紝涓嶅嚭鎰忓鐨勮瘽錛岃繖寮犻宸劇焊涓婄殑璁℃暟鍊煎簲褰撴槸 0 錛屽畠浼?xì)琚瀮鍦炬攭櫅嗗櫒鈥斺斿亣璁鵑偅鏄竴涓笓闂ㄨ礋璐f墦鎵崼鐢熺殑鏈哄櫒浜衡斺旀崱璧鋒潵鎵斿埌鍨冨溇綆遍噷錛屽洜涓哄瀮鍦炬敹闆嗗櫒鐨勬儫涓浣垮懡灝辨槸鎵懼埌鎵鏈夎鏁板間負(fù) 0 鐨勯宸劇焊騫舵竻鐞嗗畠浠?

寮曠敤璁℃暟綆楁硶鐨勪紭鐐瑰拰緙洪櫡鍚屾牱鏄庢樉銆傝繖涓綆楁硶鍦ㄦ墽琛屽瀮鍦炬敹闆嗕換鍔℃椂閫熷害杈冨揩錛屼絾綆楁硶瀵圭▼搴忎腑姣忎竴嬈″唴瀛樺垎閰嶅拰鎸囬拡鎿嶄綔鎻愬嚭浜嗛澶栫殑瑕佹眰錛堝鍔犳垨鍑忓皯鍐呭瓨鍧楃殑寮曠敤璁℃暟錛夈傛洿閲嶈鐨勬槸錛屽紩鐢ㄨ鏁扮畻娉曟棤娉曟紜噴鏀懼驚鐜紩鐢ㄧ殑鍐呭瓨鍧楋紝瀵規(guī)錛?D. Hillis 鏈変竴孌甸瓚h岀簿杈熺殑璁鴻堪錛?

涓澶╋紝涓涓鐢熻蛋鍒?Moon 闈㈠墠璇達(dá)細(xì)“鎴戠煡閬撳浣曡璁′竴涓洿濂界殑鍨冨溇鏀墮泦鍣ㄤ簡銆傛垜浠繀欏昏褰曟寚鍚戞瘡涓粨鐐圭殑鎸囬拡鏁扮洰銆?#8221; Moon 鑰愬績鍦扮粰榪欎綅瀛︾敓璁蹭簡涓嬮潰榪欎釜鏁呬簨錛?#8220;涓澶╋紝涓涓鐢熻蛋鍒?Moon 闈㈠墠璇達(dá)細(xì)‘鎴戠煡閬撳浣曡璁′竴涓洿濂界殑鍨冨溇鏀墮泦鍣ㄤ簡……’”

D. Hillis 鐨勬晠浜嬪拰鎴戜滑灝忔椂鍊欏父璇寸殑“浠庡墠鏈夊駭灞憋紝灞變笂鏈変釜搴欙紝搴欓噷鏈変釜鑰佸拰灝?#8221;鐨勬晠浜嬫湁寮傛洸鍚屽伐涔嬪銆傝繖璇存槑錛屽崟鏄嬌鐢ㄥ紩鐢ㄨ鏁扮畻娉曡繕涓嶈凍浠ヨВ鍐沖瀮鍦炬敹闆嗕腑鐨勬墍鏈夐棶棰樸傛鍥犱負(fù)濡傛錛屽紩鐢ㄨ鏁扮畻娉曚篃甯稿父琚爺絀惰呬滑鎺掗櫎鍦ㄧ嫮涔夌殑鍨冨溇鏀墮泦綆楁硶涔嬪銆傚綋鐒訛紝浣滀負(fù)涓縐嶆渶綆鍗曘佹渶鐩磋鐨勮В鍐蟲柟妗堬紝寮曠敤璁℃暟綆楁硶鏈韓鍏鋒湁鍏朵笉鍙浛浠g殑浼樿秺鎬с?1980 騫翠唬鍓嶅悗錛?D. P. Friedman 錛?D. S. Wise 錛?H. G. Baker 絳変漢瀵瑰紩鐢ㄨ鏁扮畻娉曡繘琛屼簡鏁版鏀硅繘錛岃繖浜涙敼榪涗嬌寰楀紩鐢ㄨ鏁扮畻娉曞強鍏跺彉縐嶏紙濡傚歡榪熻鏁扮畻娉曠瓑錛夊湪綆鍗曠殑鐜涓嬶紝鎴栨槸鍦ㄤ竴浜涚患鍚堜簡澶氱綆楁硶鐨勭幇浠e瀮鍦炬敹闆嗙郴緇熶腑浠嶇劧鍙互涓灞曡韓鎵嬨?

 

鏍囪錛嶆竻闄わ紙 Mark-Sweep 錛夌畻娉?/font>

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

絎竴縐嶅疄鐢ㄥ拰瀹屽杽鐨勫瀮鍦炬敹闆嗙畻娉曟槸 J. McCarthy 絳変漢鍦?1960 騫存彁鍑哄茍鎴愬姛鍦板簲鐢ㄤ簬 Lisp 璇█鐨勬爣璁幫紞娓呴櫎綆楁硶銆備粛浠ラ宸劇焊涓轟緥錛屾爣璁幫紞娓呴櫎綆楁硶鐨勬墽琛岃繃紼嬫槸榪欐牱鐨勶細(xì)

鍗堥榪囩▼涓紝槨愬巺閲岀殑鎵鏈変漢閮芥牴鎹嚜宸辯殑闇瑕佸彇鐢ㄩ宸劇焊銆傚綋鍨冨溇鏀墮泦鏈哄櫒浜烘兂鏀墮泦搴熸棫槨愬肪綰哥殑鏃跺欙紝瀹冧細(xì)璁╂墍鏈夌敤槨愮殑浜哄厛鍋滀笅鏉ワ紝鐒跺悗錛屼緷嬈¤闂鍘呴噷鐨勬瘡涓涓漢錛?#8220;浣犳鍦ㄧ敤槨愬肪綰稿悧錛熶綘鐢ㄧ殑鏄摢涓寮犻宸劇焊錛?#8221;鏈哄櫒浜烘牴鎹瘡涓漢鐨勫洖絳斿皢浜轟滑姝e湪浣跨敤鐨勯宸劇焊鐢諱笂璁板彿銆傝闂繃紼嬬粨鏉熷悗錛屾満鍣ㄤ漢鍦ㄩ鍘呴噷瀵繪壘鎵鏈夋暎钀藉湪槨愭涓婁笖娌℃湁璁板彿鐨勯宸劇焊錛堣繖浜涙樉鐒墮兘鏄敤榪囩殑搴熸棫槨愬肪綰革級錛屾妸瀹冧滑緇熺粺鎵斿埌鍨冨溇綆遍噷銆?

姝e鍏跺悕縐版墍鏆楃ず鐨勯偅鏍鳳紝鏍囪錛嶆竻闄ょ畻娉曠殑鎵ц榪囩▼鍒嗕負(fù)“鏍囪”鍜?#8220;娓呴櫎”涓ゅぇ闃舵銆傝繖縐嶅垎姝ユ墽琛岀殑鎬濊礬濂犲畾浜嗙幇浠e瀮鍦炬敹闆嗙畻娉曠殑鎬濇兂鍩虹銆備笌寮曠敤璁℃暟綆楁硶涓嶅悓鐨勬槸錛屾爣璁幫紞娓呴櫎綆楁硶涓嶉渶瑕佽繍琛岀幆澧冪洃嫻嬫瘡涓嬈″唴瀛樺垎閰嶅拰鎸囬拡鎿嶄綔錛岃屽彧瑕佸湪“鏍囪”闃舵涓窡韙瘡涓涓寚閽堝彉閲忕殑鎸囧悜鈥斺旂敤綾諱技鎬濊礬瀹炵幇鐨勫瀮鍦炬敹闆嗗櫒涔熷父琚悗浜虹粺縐頒負(fù)璺熻釜鏀墮泦鍣紙 Tracing Collector 錛?

浼撮殢鐫 Lisp 璇█鐨勬垚鍔燂紝鏍囪錛嶆竻闄ょ畻娉曚篃鍦ㄥぇ澶氭暟鏃╂湡鐨?Lisp 榪愯鐜涓ぇ鏀懼紓褰┿傚敖綆℃渶鍒濈増鏈殑鏍囪錛嶆竻闄ょ畻娉曞湪浠婂ぉ鐪嬫潵榪樺瓨鍦ㄦ晥鐜囦笉楂橈紙鏍囪鍜屾竻闄ゆ槸涓や釜鐩稿綋鑰楁椂鐨勮繃紼嬶級絳夎澶氱己闄鳳紝浣嗗湪鍚庨潰鐨勮璁轟腑錛屾垜浠彲浠ョ湅鍒幫紝鍑犱箮鎵鏈夌幇浠e瀮鍦炬敹闆嗙畻娉曢兘鏄爣璁幫紞娓呴櫎鎬濇兂鐨勫歡緇紝浠呮涓鐐癸紝 J. McCarthy 絳変漢鍦ㄥ瀮鍦炬敹闆嗘妧鏈柟闈㈢殑璐$尞灝變笣姣笉浜氫簬浠栦滑鍦?Lisp 璇█涓婄殑鎴愬氨浜嗐?

 

澶嶅埗錛?Copying 錛夌畻娉?/font>

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

涓轟簡瑙e喅鏍囪錛嶆竻闄ょ畻娉曞湪鍨冨溇鏀墮泦鏁堢巼鏂歸潰鐨勭己闄鳳紝 M. L. Minsky 浜?1963 騫村彂琛ㄤ簡钁楀悕鐨勮鏂?#8220;涓縐嶄嬌鐢ㄥ弻瀛樺偍鍖虹殑 Lisp 璇█鍨冨溇鏀墮泦鍣紙 A LISP Garbage Collector Algorithm Using Serial Secondary Storage 錛?#8221;銆?M. L. Minsky 鍦ㄨ璁烘枃涓弿榪扮殑綆楁硶琚漢浠О涓哄鍒剁畻娉曪紝瀹冧篃琚?M. L. Minsky 鏈漢鎴愬姛鍦板紩鍏ュ埌浜?Lisp 璇█鐨勪竴涓疄鐜扮増鏈腑銆?

澶嶅埗綆楁硶鍒嚭蹇冭鍦板皢鍫嗙┖闂翠竴鍒嗕負(fù)浜岋紝騫朵嬌鐢ㄧ畝鍗曠殑澶嶅埗鎿嶄綔鏉ュ畬鎴愬瀮鍦炬敹闆嗗伐浣滐紝榪欎釜鎬濊礬鐩稿綋鏈夎叮銆傚熺敤槨愬肪綰哥殑姣斿柣錛屾垜浠彲浠ヨ繖鏍風(fēng)悊瑙?M. L. Minsky 鐨勫鍒剁畻娉曪細(xì)

槨愬巺琚瀮鍦炬敹闆嗘満鍣ㄤ漢鍒嗘垚鍗楀尯鍜屽寳鍖轟袱涓ぇ灝忓畬鍏ㄧ浉鍚岀殑閮ㄥ垎銆傚崍槨愭椂錛屾墍鏈変漢閮藉厛鍦ㄥ崡鍖虹敤槨愶紙鍥犱負(fù)絀洪棿鏈夐檺錛岀敤槨愪漢鏁拌嚜鐒朵篃灝嗗噺灝戜竴鍗婏級錛岀敤槨愭椂鍙互闅忔剰浣跨敤槨愬肪綰搞傚綋鍨冨溇鏀墮泦鏈哄櫒浜鴻涓烘湁蹇呰鍥炴敹搴熸棫槨愬肪綰告椂錛屽畠浼?xì)瑕佹眰鎵鏈夌敤槨愯呬互鏈蹇殑閫熷害浠庡崡鍖鴻漿縐誨埌鍖楀尯錛屽悓鏃墮殢韜惡甯﹁嚜宸辨鍦ㄤ嬌鐢ㄧ殑槨愬肪綰搞傜瓑鎵鏈変漢閮借漿縐誨埌鍖楀尯涔嬪悗錛屽瀮鍦炬敹闆嗘満鍣ㄤ漢鍙綆鍗曞湴鎶婂崡鍖轟腑鎵鏈夋暎钀界殑槨愬肪綰告墧榪涘瀮鍦劇灝辯畻瀹屾垚浠誨姟浜嗐備笅涓嬈″瀮鍦炬敹闆嗙殑宸ヤ綔榪囩▼涔熷ぇ鑷寸被浼鹼紝鎯熶竴鐨勪笉鍚屽彧鏄漢浠殑杞Щ鏂瑰悜鍙樻垚浜嗕粠鍖楀尯鍒板崡鍖恒傚姝ゅ驚鐜線澶嶏紝姣忔鍨冨溇鏀墮泦閮藉彧闇綆鍗曞湴杞Щ錛堜篃灝辨槸澶嶅埗錛変竴嬈★紝鍨冨溇鏀墮泦閫熷害鏃犱笌浼︽瘮鈥斺斿綋鐒訛紝瀵逛簬鐢ㄩ鑰呭線榪斿娉簬鍗楀寳涓ゅ尯涔嬮棿鐨勮緵鍔籌紝鍨冨溇鏀墮泦鏈哄櫒浜烘槸鍐充笉浼?xì)娴侀湶鍑轰笣姣滄?zhèn)殑銆?

M. L. Minsky 鐨勫彂鏄庣粷瀵圭畻寰椾笂涓縐嶅鎬濆鎯熾傚垎鍖恒佸鍒剁殑鎬濊礬涓嶄粎澶у箙鎻愰珮浜嗗瀮鍦炬敹闆嗙殑鏁堢巼錛岃屼笖涔熷皢鍘熸湰綣佺悍澶嶆潅鐨勫唴瀛樺垎閰嶇畻娉曞彉寰楀墠鎵鏈湁鍦扮畝鏄庡拰鎵艱錛堟棦鐒舵瘡嬈″唴瀛樺洖鏀墮兘鏄鏁翠釜鍗婂尯鐨勫洖鏀訛紝鍐呭瓨鍒嗛厤鏃朵篃灝變笉鐢ㄨ冭檻鍐呭瓨紕庣墖絳夊鏉傛儏鍐碉紝鍙縐誨姩鍫嗛《鎸囬拡錛屾寜欏哄簭鍒嗛厤鍐呭瓨灝卞彲浠ヤ簡錛夛紝榪欑畝鐩存槸涓榪癸紒涓嶈繃錛屼換浣曞榪圭殑鍑虹幇閮芥湁涓瀹氱殑浠d環(huán)錛屽湪鍨冨溇鏀墮泦鎶鏈腑錛屽鍒剁畻娉曟彁楂樻晥鐜囩殑浠d環(huán)鏄漢涓哄湴灝嗗彲鐢ㄥ唴瀛樼緝?yōu)畯浜嗕竴鍗娿傚疄璇濆疄璇達(dá)紝榪欎釜浠d環(huán)鏈厤涔熷お楂樹簡涓浜涖?

鏃犺浼樼己鐐瑰浣曪紝澶嶅埗綆楁硶鍦ㄥ疄璺典腑閮借幏寰椾簡鍙互涓庢爣璁幫紞娓呴櫎綆楁硶鐩告瘮鎷熺殑鎴愬姛銆傞櫎浜?M. L. Minsky 鏈漢鍦?Lisp 璇█涓殑宸ヤ綔浠ュ錛屼粠 1960 騫翠唬鏈埌 1970 騫翠唬鍒濓紝 R. R. Fenichel 鍜?J. C. Yochelson 絳変漢涔熺浉緇у湪 Lisp 璇█鐨勪笉鍚屽疄鐜頒腑瀵瑰鍒剁畻娉曡繘琛屼簡鏀硅繘錛?S. Arnborg 鏇存槸鎴愬姛鍦板皢澶嶅埗綆楁硶搴旂敤鍒頒簡 Simula 璇█涓?

鑷蟲錛屽瀮鍦炬敹闆嗘妧鏈殑涓夊ぇ浼犵粺綆楁硶鈥斺斿紩鐢ㄨ鏁扮畻娉曘佹爣璁幫紞娓呴櫎綆楁硶鍜屽鍒剁畻娉曗斺旈兘宸插湪 1960 騫村墠鍚庣浉緇ч棶涓栵紝涓夌綆楁硶鍚勬湁鎵闀匡紝涔熼兘瀛樺湪鑷村懡鐨勭己闄楓備粠 1960 騫翠唬鍚庢湡寮濮嬶紝鐮旂┒鑰呯殑涓昏綺懼姏閫愭笎杞悜瀵硅繖涓夌浼犵粺綆楁硶榪涜鏀硅繘鎴栨暣鍚堬紝浠ユ壃闀塊伩鐭紝閫傚簲紼嬪簭璁捐璇█鍜岃繍琛岀幆澧冨鍨冨溇鏀墮泦鐨勬晥鐜囧拰瀹炴椂鎬ф墍鎻愬嚭鐨勬洿楂樿姹傘?

 

璧板悜鎴愮啛

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

浠?1970 騫翠唬寮濮嬶紝闅忕潃縐戝鐮旂┒鍜屽簲鐢ㄥ疄璺電殑涓嶆柇娣卞叆錛屼漢浠愭笎鎰忚瘑鍒幫紝涓涓悊鎯崇殑鍨冨溇鏀墮泦鍣ㄤ笉搴斿湪榪愯鏃跺鑷村簲鐢ㄧ▼搴忕殑鏆傚仠錛屼笉搴旈澶栧崰鐢ㄥぇ閲忕殑鍐呭瓨絀洪棿鍜?CPU 璧勬簮錛岃屼笁縐嶄紶緇熺殑鍨冨溇鏀墮泦綆楁硶閮芥棤娉曟弧瓚寵繖浜涜姹傘備漢浠繀欏繪彁鍑烘洿鏂扮殑綆楁硶鎴栨濊礬錛屼互瑙e喅瀹炶返涓鍒扮殑璇稿闅鵑銆傚綋鏃訛紝鐮旂┒鑰呯殑鍔姏鐩爣鍖呮嫭錛?

絎竴錛屾彁楂樺瀮鍦炬敹闆嗙殑鏁堢巼銆備嬌鐢ㄦ爣璁幫紞娓呴櫎綆楁硶鐨勫瀮鍦炬敹闆嗗櫒鍦ㄥ伐浣滄椂瑕佹秷鑰楃浉褰撳鐨?CPU 璧勬簮銆傛棭鏈熺殑 Lisp 榪愯鐜鏀墮泦鍐呭瓨鍨冨溇鐨勬椂闂寸珶鍗犲埌浜嗙郴緇熸昏繍琛屾椂闂寸殑 40% 錛佲斺斿瀮鍦炬敹闆嗘晥鐜囩殑浣庝笅鐩存帴閫犲氨浜?Lisp 璇█鍦ㄦ墽琛岄熷害鏂歸潰鐨勫潖鍚嶅0錛涚洿鍒頒粖澶╋紝璁稿浜鴻繕鏉′歡鍙嶅皠浼煎湴璇互涓烘墍鏈?Lisp 紼嬪簭閮藉鎱㈡棤姣斻?

絎簩錛屽噺灝戝瀮鍦炬敹闆嗘椂鐨勫唴瀛樺崰鐢ㄣ傝繖涓闂涓昏鍑虹幇鍦ㄥ鍒剁畻娉曚腑銆傚敖綆″鍒剁畻娉曞湪鏁堢巼涓婅幏寰椾簡璐ㄧ殑紿佺牬錛屼絾鐗虹壊涓鍗婂唴瀛樼┖闂寸殑浠d環(huán)浠嶇劧鏄法澶х殑銆傚湪璁$畻鏈哄彂灞曠殑鏃╂湡錛屽湪鍐呭瓨浠鋒牸浠?KB 璁$畻鐨勬棩瀛愰噷錛屾氮璐瑰鎴風(fēng)殑涓鍗婂唴瀛樼┖闂寸畝鐩村氨鏄湪鍙樼浉鏁茶瘓鎴栨嫤璺墦鍔?

絎笁錛屽鎵懼疄鏃剁殑鍨冨溇鏀墮泦綆楁硶銆傛棤璁烘墽琛屾晥鐜囧浣曪紝涓夌浼犵粺鐨勫瀮鍦炬敹闆嗙畻娉曞湪鎵ц鍨冨溇鏀墮泦浠誨姟鏃墮兘蹇呴』鎵撴柇紼嬪簭鐨勫綋鍓嶅伐浣溿傝繖縐嶅洜鍨冨溇鏀墮泦鑰岄犳垚鐨勫歡鏃舵槸璁稿紼嬪簭錛岀壒鍒槸鎵ц鍏抽敭浠誨姟鐨勭▼搴忔病鏈夊姙娉曞蹇嶇殑銆傚浣曞浼犵粺綆楁硶榪涜鏀硅繘錛屼互渚垮疄鐜頒竴縐嶅湪鍚庡彴鎮(zhèn)勬?zhèn)勬墽琛屽Q屼笉褰卞搷鈥斺旀垨鑷沖皯鐪嬩笂鍘諱笉褰卞搷鈥斺斿綋鍓嶈繘紼嬬殑瀹炴椂鍨冨溇鏀墮泦鍣紝榪欐樉鐒舵槸涓浠舵洿鍏鋒寫鎴樻х殑宸ヤ綔銆?

鐮旂┒鑰呬滑鎺㈠鏈煡棰嗗煙鐨勫喅蹇冨拰鐮旂┒宸ヤ綔鐨勮繘灞曢熷害鍚屾牱浠や漢鎯婂錛氬湪 1970 騫翠唬鍒?1980 騫翠唬鐨勭煭鐭崄鍑犲勾涓紝涓澶ф壒鍦ㄥ疄鐢ㄧ郴緇熶腑琛ㄧ幇浼樺紓鐨勬柊綆楁硶鍜屾柊鎬濊礬鑴遍鑰屽嚭銆傛鏄洜涓烘湁浜嗚繖浜涙棩瓚嬫垚鐔熺殑鍨冨溇鏀墮泦綆楁硶錛屼粖澶╃殑鎴戜滑鎵嶈兘鍦?Java 鎴?.NET 鎻愪緵鐨勮繍琛岀幆澧冧腑闅忓績鎵嬈插湴鍒嗛厤鍐呭瓨鍧楋紝鑰屼笉蹇呮媴蹇冪┖闂撮噴鏀炬椂鐨勯闄┿?

 

鏍囪錛嶆暣鐞嗭紙 Mark-Compact 錛夌畻娉?/font>

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

鏍囪錛嶆暣鐞嗙畻娉曟槸鏍囪錛嶆竻闄ょ畻娉曞拰澶嶅埗綆楁硶鐨勬湁鏈虹粨鍚堛傛妸鏍囪錛嶆竻闄ょ畻娉曞湪鍐呭瓨鍗犵敤涓婄殑浼樼偣鍜屽鍒剁畻娉曞湪鎵ц鏁堢巼涓婄殑鐗歸暱緇煎悎璧鋒潵錛岃繖鏄墍鏈変漢閮藉笇鏈涚湅鍒扮殑緇撴灉銆備笉榪囷紝涓ょ鍨冨溇鏀墮泦綆楁硶鐨勬暣鍚堝茍涓嶅儚 1 鍔?1 絳変簬 2 閭f牱綆鍗曪紝鎴戜滑蹇呴』寮曞叆涓浜涘叏鏂扮殑鎬濊礬銆?1970 騫村墠鍚庯紝 G. L. Steele 錛?C. J. Cheney 鍜?D. S. Wise 絳夌爺絀惰呴檰緇壘鍒頒簡姝g‘鐨勬柟鍚戯紝鏍囪錛嶆暣鐞嗙畻娉曠殑杞粨涔熼愭笎娓呮櫚浜嗚搗鏉ワ細(xì)

鍦ㄦ垜浠啛鎮(zhèn)夌殑槨愬巺閲岋紝榪欎竴嬈★紝鍨冨溇鏀墮泦鏈哄櫒浜轟笉鍐嶆妸槨愬巺鍒嗘垚涓や釜鍗楀寳鍖哄煙浜嗐傞渶瑕佹墽琛屽瀮鍦炬敹闆嗕換鍔℃椂錛屾満鍣ㄤ漢鍏堟墽琛屾爣璁幫紞娓呴櫎綆楁硶鐨勭涓涓楠わ紝涓烘墍鏈変嬌鐢ㄤ腑鐨勯宸劇焊鐢誨ソ鏍囪錛岀劧鍚庯紝鏈哄櫒浜哄懡浠ゆ墍鏈夊氨槨愯呭甫涓婃湁鏍囪鐨勯宸劇焊鍚戦鍘呯殑鍗楅潰闆嗕腑錛屽悓鏃舵妸娌℃湁鏍囪鐨勫簾鏃ч宸劇焊鎵斿悜槨愬巺鍖楅潰銆傝繖鏍蜂竴鏉ワ紝鏈哄櫒浜哄彧娑堢珯鍦ㄩ鍘呭寳闈紝鎬鎶卞瀮鍦劇錛岃繋鎺ユ墤闈㈣屾潵鐨勫簾鏃ч宸劇焊灝辮浜嗐?

瀹為獙琛ㄦ槑錛屾爣璁幫紞鏁寸悊綆楁硶鐨勬諱綋鎵ц鏁堢巼楂樹簬鏍囪錛嶆竻闄ょ畻娉曪紝鍙堜笉鍍忓鍒剁畻娉曢偅鏍烽渶瑕佺壓鐗蹭竴鍗婄殑瀛樺偍絀洪棿錛岃繖鏄劇劧鏄竴縐嶉潪甯哥悊鎯崇殑緇撴灉銆傚湪璁稿鐜頒唬鐨勫瀮鍦炬敹闆嗗櫒涓紝浜轟滑閮戒嬌鐢ㄤ簡鏍囪錛嶆暣鐞嗙畻娉曟垨鍏舵敼榪涚増鏈?

 

澧為噺鏀墮泦錛?Incremental Collecting 錛夌畻娉?/font>

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

瀵瑰疄鏃跺瀮鍦炬敹闆嗙畻娉曠殑鐮旂┒鐩存帴瀵艱嚧浜嗗閲忔敹闆嗙畻娉曠殑璇炵敓銆?

鏈鍒濓紝浜轟滑鍏充簬瀹炴椂鍨冨溇鏀墮泦鐨勬兂娉曟槸榪欐牱鐨勶細(xì)涓轟簡榪涜瀹炴椂鐨勫瀮鍦炬敹闆嗭紝鍙互璁捐涓涓榪涚▼鐨勮繍琛岀幆澧冿紝姣斿鐢ㄤ竴涓繘紼嬫墽琛屽瀮鍦炬敹闆嗗伐浣滐紝鍙︿竴涓繘紼嬫墽琛岀▼搴忎唬鐮併傝繖鏍蜂竴鏉ワ紝鍨冨溇鏀墮泦宸ヤ綔鐪嬩笂鍘誨氨浠夸經(jīng)鏄湪鍚庡彴鎮(zhèn)勬?zhèn)勫畬鎴愮殑锛屼笉浼?xì)鎵撴柇紼嬪簭浠g爜鐨勮繍琛屻?

鍦ㄦ敹闆嗛宸劇焊鐨勪緥瀛愪腑錛岃繖涓鎬濊礬鍙互琚悊瑙d負(fù)錛氬瀮鍦炬敹闆嗘満鍣ㄤ漢鍦ㄤ漢浠敤槨愮殑鍚屾椂瀵繪壘搴熷純鐨勯宸劇焊騫跺皢瀹冧滑鎵斿埌鍨冨溇綆遍噷銆傝繖涓湅浼肩畝鍗曠殑鎬濊礬浼?xì)鍦ㄨ璁″拰瀹炵幇鏃都勵C笂榪涚▼闂村啿紿佺殑闅鵑銆傛瘮濡傝錛屽鏋滃瀮鍦炬敹闆嗚繘紼嬪寘鎷爣璁板拰娓呴櫎涓や釜宸ヤ綔闃舵錛岄偅涔堬紝鍨冨溇鏀墮泦鍣ㄥ湪絎竴闃舵涓緵杈涜嫤鑻︽爣璁板嚭鐨勭粨鏋滃緢鍙兘琚彟涓涓繘紼嬩腑鐨勫唴瀛樻搷浣滀唬鐮佷慨鏀瑰緱闈㈢洰鍏ㄩ潪錛屼互鑷充簬絎簩闃舵鐨勫伐浣滄病鏈夊姙娉曞紑灞曘?

M. L. Minsky 鍜?D. E. Knuth 瀵瑰疄鏃跺瀮鍦炬敹闆嗚繃紼嬩腑鐨勬妧鏈毦鐐硅繘琛屼簡鏃╂湡鐨勭爺絀訛紝 G. L. Steele 浜?1975 騫村彂琛ㄤ簡棰樹負(fù)“澶氳繘紼嬫暣鐞嗙殑鍨冨溇鏀墮泦錛?Multiprocessing compactifying garbage collection 錛?#8221;鐨勮鏂囷紝鎻忚堪浜嗕竴縐嶈鍚庝漢縐頒負(fù)“ Minsky-Knuth-Steele 綆楁硶”鐨勫疄鏃跺瀮鍦炬敹闆嗙畻娉曘?E. W. Dijkstra 錛?L. Lamport 錛?R. R. Fenichel 鍜?J. C. Yochelson 絳変漢涔熺浉緇у湪姝ら鍩熷仛鍑轟簡鍚勮嚜鐨勮礎(chǔ)鐚?1978 騫達(dá)紝 H. G. Baker 鍙戣〃浜?#8220;涓茶璁$畻鏈轟笂鐨勫疄鏃惰〃澶勭悊鎶鏈紙 List Processing in Real Time on a Serial Computer 錛?#8221;涓鏂囷紝緋葷粺闃愯堪浜嗗榪涚▼鐜涓嬬敤浜庡瀮鍦炬敹闆嗙殑澧為噺鏀墮泦綆楁硶銆?

澧為噺鏀墮泦綆楁硶鐨勫熀紜浠嶆槸浼犵粺鐨勬爣璁幫紞娓呴櫎鍜屽鍒剁畻娉曘傚閲忔敹闆嗙畻娉曢氳繃瀵硅繘紼嬮棿鍐茬獊鐨勫Ε鍠勫鐞嗭紝鍏佽鍨冨溇鏀墮泦榪涚▼浠ュ垎闃舵鐨勬柟寮忓畬鎴愭爣璁般佹竻鐞嗘垨澶嶅埗宸ヤ綔銆傝緇嗗垎鏋愬悇縐嶅閲忔敹闆嗙畻娉曠殑鍐呴儴鏈虹悊鏄竴浠剁浉褰撶箒鐞愮殑浜嬫儏錛屽湪榪欓噷錛岃鑰呬滑闇瑕佷簡瑙g殑浠呬粎鏄細(xì) H. G. Baker 絳変漢鐨勫姫鍔涘凡緇忓皢瀹炴椂鍨冨溇鏀墮泦鐨勬ⅵ鎯沖彉鎴愪簡鐜板疄錛屾垜浠啀涔熶笉鐢ㄤ負(fù)鍨冨溇鏀墮泦鎵撴柇紼嬪簭鐨勮繍琛岃岀儲鎭間簡銆?

 

鍒嗕唬鏀墮泦錛?Generational Collecting 錛夌畻娉?/font>

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

鍜屽ぇ澶氭暟杞歡寮鍙戞妧鏈竴鏍鳳紝緇熻瀛﹀師鐞嗘昏兘鍦ㄦ妧鏈彂灞曠殑榪囩▼涓搗鍒板己鍔涘偓鍖栧墏鐨勪綔鐢ㄣ?1980 騫村墠鍚庯紝鍠勪簬鍦ㄧ爺絀朵腑浣跨敤緇熻鍒嗘瀽鐭ヨ瘑鐨勬妧鏈漢鍛樺彂鐜幫紝澶у鏁板唴瀛樺潡鐨勭敓瀛樺懆鏈熼兘姣旇緝鐭紝鍨冨溇鏀墮泦鍣ㄥ簲褰撴妸鏇村鐨勭簿鍔涙斁鍦ㄦ鏌ュ拰娓呯悊鏂板垎閰嶇殑鍐呭瓨鍧椾笂銆傝繖涓彂鐜板浜庡瀮鍦炬敹闆嗘妧鏈殑浠峰煎彲浠ョ敤槨愬肪綰哥殑渚嬪瓙姒傛嫭濡備笅錛?

濡傛灉鍨冨溇鏀墮泦鏈哄櫒浜鴻凍澶熻仾鏄庯紝浜嬪厛鎽告竻浜嗛鍘呴噷姣忎釜浜哄湪鐢ㄩ鏃朵嬌鐢ㄩ宸劇焊鐨勪範(fàn)鎯斺旀瘮濡傛湁浜涗漢鍠滄鍦ㄧ敤槨愬墠鍚庡悇鐢ㄦ帀涓寮犻宸劇焊錛屾湁鐨勪漢鍠滄鑷鑷崇粓鏀ョ潃涓寮犻宸劇焊涓嶆斁錛屾湁鐨勪漢鍒欐瘡鎵撲竴涓柗鍤忓氨鐢ㄥ幓涓寮犻宸劇焊鈥斺旀満鍣ㄤ漢灝卞彲浠ュ埗瀹氬嚭鏇村畬鍠勭殑槨愬肪綰稿洖鏀惰鍒掞紝騫舵繪槸鍦ㄤ漢浠垰鎵旀帀槨愬肪綰告病澶氫箙灝辨妸鍨冨溇鎹¤蛋銆傝繖縐嶅熀浜庣粺璁″鍘熺悊鐨勫仛娉曞綋鐒跺彲浠ヨ槨愬巺鐨勬暣媧佸害鎴愬嶆彁楂樸?

D. E. Knuth 錛?T. Knight 錛?G. Sussman 鍜?R. Stallman 絳変漢瀵瑰唴瀛樺瀮鍦劇殑鍒嗙被澶勭悊鍋氫簡鏈鏃╃殑鐮旂┒銆?1983 騫達(dá)紝 H. Lieberman 鍜?C. Hewitt 鍙戣〃浜嗛涓?#8220;鍩轟簬瀵硅薄瀵垮懡鐨勪竴縐嶅疄鏃跺瀮鍦炬敹闆嗗櫒錛?A real-time garbage collector based on the lifetimes of objects 錛?#8221;鐨勮鏂囥傝繖綃囪憲鍚嶇殑璁烘枃鏍囧織鐫鍒嗕唬鏀墮泦綆楁硶鐨勬寮忚癁鐢熴傛鍚庯紝鍦?H. G. Baker 錛?R. L. Hudson 錛?J. E. B. Moss 絳変漢鐨勫叡鍚屽姫鍔涗笅錛屽垎浠f敹闆嗙畻娉曢愭笎鎴愪負(fù)浜嗗瀮鍦炬敹闆嗛鍩熼噷鐨勪富嫻佹妧鏈?

鍒嗕唬鏀墮泦綆楁硶閫氬父灝嗗爢涓殑鍐呭瓨鍧楁寜瀵垮懡鍒嗕負(fù)涓ょ被錛屽勾鑰佺殑鍜屽勾杞葷殑銆傚瀮鍦炬敹闆嗗櫒浣跨敤涓嶅悓鐨勬敹闆嗙畻娉曟垨鏀墮泦絳栫暐錛屽垎鍒鐞嗚繖涓ょ被鍐呭瓨鍧楋紝騫剁壒鍒湴鎶婁富瑕佸伐浣滄椂闂磋姳鍦ㄥ鐞嗗勾杞葷殑鍐呭瓨鍧椾笂銆傚垎浠f敹闆嗙畻娉曚嬌鍨冨溇鏀墮泦鍣ㄥ湪鏈夐檺鐨勮祫婧愭潯浠朵笅錛屽彲浠ユ洿涓烘湁鏁堝湴宸ヤ綔鈥斺旇繖縐嶆晥鐜囦笂鐨勬彁楂樺湪浠婂ぉ鐨?Java 铏氭嫙鏈轟腑寰楀埌浜嗘渶濂界殑璇佹槑銆?

 

搴旂敤嫻疆

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

Lisp 鏄瀮鍦炬敹闆嗘妧鏈殑絎竴涓彈鐩婅咃紝浣嗘樉鐒朵笉鏄渶鍚庝竴涓傚湪 Lisp 璇█涔嬪悗錛岃璁稿澶氫紶緇熺殑銆佺幇浠g殑銆佸悗鐜頒唬鐨勮璦宸茬粡鎶婂瀮鍦炬敹闆嗘妧鏈媺鍏ヤ簡鑷繁鐨勬鎶便傞殢渚夸婦鍑犱釜渚嬪瓙鍚э細(xì)璇炵敓浜?1964 騫寸殑 Simula 璇█錛?1969 騫寸殑 Smalltalk 璇█錛?1970 騫寸殑 Prolog 璇█錛?1973 騫寸殑 ML 璇█錛?1975 騫寸殑 Scheme 璇█錛?1983 騫寸殑 Modula-3 璇█錛?1986 騫寸殑 Eiffel 璇█錛?1987 騫寸殑 Haskell 璇█……瀹冧滑閮藉厛鍚庝嬌鐢ㄤ簡鑷姩鍨冨溇鏀墮泦鎶鏈傚綋鐒訛紝姣忎竴縐嶈璦浣跨敤鐨勫瀮鍦炬敹闆嗙畻娉曞彲鑳戒笉灝界浉鍚岋紝澶у鏁拌璦鍜岃繍琛岀幆澧冪敋鑷沖悓鏃朵嬌鐢ㄤ簡澶氱鍨冨溇鏀墮泦綆楁硶銆備絾鏃犺鎬庢牱錛岃繖浜涘疄渚嬮兘璇存槑錛屽瀮鍦炬敹闆嗘妧鏈粠璇炵敓鐨勯偅涓澶╄搗灝變笉鏄竴縐嶆洸楂樺拰瀵$殑“瀛﹂櫌媧?#8221;鎶鏈?

瀵逛簬鎴戜滑鐔熸?zhèn)夌?C 鍜?C++ 璇█錛屽瀮鍦炬敹闆嗘妧鏈竴鏍峰彲浠ュ彂鎸ュ法澶х殑鍔熸晥銆傛濡傛垜浠湪瀛︽牎涓氨宸茬粡鐭ラ亾鐨勯偅鏍鳳紝 C 鍜?C++ 璇█鏈韓騫舵病鏈夋彁渚涘瀮鍦炬敹闆嗘満鍒訛紝浣嗚繖騫朵笉濡ㄧ鎴戜滑鍦ㄧ▼搴忎腑浣跨敤鍏鋒湁鍨冨溇鏀墮泦鍔熻兘鐨勫嚱鏁板簱鎴栫被搴撱備緥濡傦紝鏃╁湪 1988 騫達(dá)紝 H. J. Boehm 鍜?A. J. Demers 灝辨垚鍔熷湴瀹炵幇浜嗕竴縐嶄嬌鐢ㄤ繚瀹堝瀮鍦炬敹闆嗙畻娉曪紙 Conservative GC Algorithmic 錛夌殑鍑芥暟搴擄紙鍙傝 http://www.hpl.hp.com/personal/Hans_Boehm/gc 錛夈傛垜浠彲浠ュ湪 C 璇█鎴?C++ 璇█涓嬌鐢ㄨ鍑芥暟搴撳畬鎴愯嚜鍔ㄥ瀮鍦炬敹闆嗗姛鑳斤紝蹇呰鏃訛紝鐢氳嚦榪樺彲浠ヨ浼犵粺鐨?C/C++ 浠g爜涓庝嬌鐢ㄨ嚜鍔ㄥ瀮鍦炬敹闆嗗姛鑳界殑 C/C++ 浠g爜鍦ㄤ竴涓▼搴忛噷鍗忓悓宸ヤ綔銆?

1995 騫磋癁鐢熺殑 Java 璇█鍦ㄤ竴澶滀箣闂村皢鍨冨溇鏀墮泦鎶鏈彉鎴愪簡杞歡寮鍙戦鍩熼噷鏈涓烘祦琛岀殑鎶鏈箣涓銆備粠鏌愮瑙掑害璇達(dá)紝鎴戜滑寰堥毦鍒嗘竻絀剁珶鏄?Java 浠庡瀮鍦炬敹闆嗕腑鍙楃泭錛岃繕鏄瀮鍦炬敹闆嗘妧鏈湰韜?Java 鐨勬櫘鍙婅屾壃鍚嶃傚煎緱娉ㄦ剰鐨勬槸錛屼笉鍚岀増鏈殑 Java 铏氭嫙鏈轟嬌鐢ㄧ殑鍨冨溇鏀墮泦鏈哄埗騫朵笉瀹屽叏鐩稿悓錛?Java 铏氭嫙鏈哄叾瀹炰篃緇忚繃浜嗕竴涓粠綆鍗曞埌澶嶆潅鐨勫彂灞曡繃紼嬨傚湪 Java 铏氭嫙鏈虹殑 1.4.1 鐗堜腑錛屼漢浠彲浠ヤ綋楠屽埌鐨勫瀮鍦炬敹闆嗙畻娉曞氨鍖呮嫭鍒嗕唬鏀墮泦銆佸鍒舵敹闆嗐佸閲忔敹闆嗐佹爣璁幫紞鏁寸悊銆佸茍琛屽鍒訛紙 Parallel Copying 錛夈佸茍琛屾竻闄わ紙 Parallel Scavenging 錛夈佸茍鍙戯紙 Concurrent 錛夋敹闆嗙瓑璁稿縐嶏紝 Java 紼嬪簭榪愯閫熷害鐨勪笉鏂彁鍗囧湪寰堝ぇ紼嬪害涓婂簲璇ュ綊鍔熶簬鍨冨溇鏀墮泦鎶鏈殑鍙戝睍涓庡畬鍠勩?

灝界鍘嗗彶涓婂凡緇忔湁璁稿鍖呭惈鍨冨溇鏀墮泦鎶鏈殑搴旂敤騫沖彴鍜屾搷浣滅郴緇熷嚭鐜幫紝浣?Microsoft .NET 鍗存槸絎竴縐嶇湡姝e疄鐢ㄥ寲鐨勩佸寘鍚簡鍨冨溇鏀墮泦鏈哄埗鐨勯氱敤璇█榪愯鐜銆備簨瀹炰笂錛?.NET 騫沖彴涓婄殑鎵鏈夎璦錛屽寘鎷?C# 銆?Visual Basic .NET 銆?Visual C++ .NET 銆?J# 絳夌瓑錛岄兘鍙互閫氳繃鍑犱箮瀹屽叏鐩稿悓鐨勬柟寮忎嬌鐢?.NET 騫沖彴鎻愪緵鐨勫瀮鍦炬敹闆嗘満鍒躲傛垜浠技涔庡彲浠ユ柇璦錛?.NET 鏄瀮鍦炬敹闆嗘妧鏈湪搴旂敤棰嗗煙閲岀殑涓嬈¢噸澶у彉闈╋紝瀹冧嬌鍨冨溇鏀墮泦鎶鏈粠涓縐嶅崟綰殑鎶鏈彉鎴愪簡搴旂敤鐜涔冭嚦鎿嶄綔緋葷粺涓殑涓縐嶅唴鍦ㄦ枃鍖栥傝繖縐嶅彉闈╁鏈潵杞歡寮鍙戞妧鏈殑褰卞搷鍔涗篃璁歌榪滆繙瓚呰繃 .NET 騫沖彴鏈韓鐨勫晢涓氫環(huán)鍊箋?

 

澶у娍鎵瓚?/font>

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

浠婂ぉ錛岃嚧鍔涗簬鍨冨溇鏀墮泦鎶鏈爺絀剁殑浜轟滑浠嶅湪涓嶆噲鍔姏錛屼粬浠殑鐮旂┒鏂瑰悜鍖呮嫭鍒嗗竷寮忕郴緇熺殑鍨冨溇鏀墮泦銆佸鏉備簨鍔$幆澧冧笅鐨勫瀮鍦炬敹闆嗐佹暟鎹簱絳夌壒瀹氱郴緇熺殑鍨冨溇鏀墮泦絳夌瓑銆?

浣嗗湪紼嬪簭鍛樹腑闂達(dá)紝浠嶆湁涓嶅皯浜哄鍨冨溇鏀墮泦鎶鏈笉灞戜竴欏撅紝浠栦滑瀹佹効鐩鎬俊鑷繁閫愯緙栧啓鐨?free 鎴?delete 鍛戒護錛屼篃涓嶆効鎶婂瀮鍦炬敹闆嗙殑閲嶄換浜ょ粰閭d簺鍦ㄤ粬浠湅鏉ユ棦锠㈠張絎ㄧ殑鍨冨溇鏀墮泦鍣ㄣ?

鎴戜釜浜鴻涓猴紝鍨冨溇鏀墮泦鎶鏈殑鏅強鏄ぇ鍔挎墍瓚嬶紝榪欏氨鍍忕敓媧諱細(xì)瓚婃潵瓚婂ソ涓鏍鋒瘚搴哥疆鐤戙備粖澶╃殑紼嬪簭鍛樹篃璁鎬細(xì)鍥犱負(fù)鍨冨溇鏀墮泦鍣ㄨ鍗犵敤涓瀹氱殑 CPU 璧勬簮鑰屽鍏舵湜鑰屽嵈姝ワ紝浣嗕簩鍗佸騫村墠鐨勭▼搴忓憳榪樻浘鍥犱負(fù)楂樼駭璇█閫熷害澶參鑰屽潥鎸佺敤鏈哄櫒璇█鍐欑▼搴忓憿錛佸湪紜歡閫熷害鏃ユ柊鏈堝紓鐨勪粖澶╋紝鎴戜滑鏄鍚濇儨閭d竴鐐瑰効鏃墮棿鎹熻楄岃笩韜囦笉鍓嶏紝榪樻槸璇ュ潥瀹氫笉縐誨湴绔欏湪浠g爜鍜岃繍琛岀幆澧冪殑鍑鍖栧墏鈥斺斿瀮鍦炬敹闆嗙殑涓杈瑰憿錛?



]]>
2006-10-28 鎶鏈綉鎽?/title><link>http://m.shnenglu.com/majianan/archive/2006/10/28/14303.html</link><dc:creator>椹槈妤?/dc:creator><author>椹槈妤?/author><pubDate>Sat, 28 Oct 2006 01:59:00 GMT</pubDate><guid>http://m.shnenglu.com/majianan/archive/2006/10/28/14303.html</guid><wfw:comment>http://m.shnenglu.com/majianan/comments/14303.html</wfw:comment><comments>http://m.shnenglu.com/majianan/archive/2006/10/28/14303.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/majianan/comments/commentRss/14303.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/majianan/services/trackbacks/14303.html</trackback:ping><description><![CDATA[ <br /> <font face="Verdana" color="#0000ff"> <font color="#000080"> <strong>1.</strong> </font>聽聽聽</font> <a class="" title="" target=""> <font face="Verdana" color="#0000ff">瑙f瀽C++/CLI涔嬪ご鏂囦歡銆佸唴鑱斿嚱鏁頒笌鏁扮粍</font> </a> <br /> <br /> <font face="Verdana" color="#0000ff"> <font color="#000080"> <strong>2.</strong> </font>聽聽</font> <a class="" title="" target=""> <font face="Verdana" color="#0000ff">聽瑙f瀽C++/CLI涔嬪ご鏂囦歡銆佸唴鑱斿嚱鏁頒笌鏁扮粍(2)</font> </a> <br /> <br /> <font face="Verdana" color="#0000ff"> <font color="#000080"> <strong>3.</strong> </font>聽聽</font> <a class="" title="" target=""> <font face="Verdana" color="#0000ff">聽瑙f瀽C++/CLI涔嬪ご鏂囦歡銆佸唴鑱斿嚱鏁頒笌鏁扮粍(3)</font> </a> <br /> <br /> <font face="Verdana" color="#000080"> <strong>4.</strong>聽聽聽聽<a class="" title="" target="">淇濆崼C++錛氬畨鍏⊿TL緙栫▼涓殑鍙楁榪唬瀛?/a><br /><br /><strong>5.</strong>聽聽聽</font> <img src ="http://m.shnenglu.com/majianan/aggbug/14303.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/majianan/" target="_blank">椹槈妤?/a> 2006-10-28 09:59 <a href="http://m.shnenglu.com/majianan/archive/2006/10/28/14303.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浜虹敓浠峰肩殑璁$畻 http://m.shnenglu.com/majianan/archive/2006/10/20/13893.html椹槈妤?/dc:creator>椹槈妤?/author>Fri, 20 Oct 2006 03:46:00 GMThttp://m.shnenglu.com/majianan/archive/2006/10/20/13893.htmlhttp://m.shnenglu.com/majianan/comments/13893.htmlhttp://m.shnenglu.com/majianan/archive/2006/10/20/13893.html#Feedback0http://m.shnenglu.com/majianan/comments/commentRss/13893.htmlhttp://m.shnenglu.com/majianan/services/trackbacks/13893.html

鏈枃鍐呭鏉ヨ嚜緗戠粶錛屼絾涓嶇煡閬撳師鍒涘拰鍑哄

濡傛灉浠?/span> A 銆?/span> B 銆?/span> C 銆?/span> D鈥︹ 銆?/span> Y 銆?/span> Z 榪?/span> 26 涓嫳鏂囧瓧姣嶏紝鍒嗗埆絳変簬鐧懼垎涔?/span> 1 銆?/span> 2 銆?/span> 3 銆?/span> 4鈥︹?4 銆?/span> 25 銆?/span> 26 榪?/span> 26 涓暟鍊鹼紝閭d箞鎴戜滑灝辮兘寰楀嚭濡備笅鏈夎叮鐨勭粨璁猴細(xì)

鍔姏宸ヤ綔錛?/span> H+A+R+D+W+O+R+K=8+1+18+4+23+15+18+11=98%

鐭ヨ瘑錛?/span> K+N+O+W+L+E+D+G+E=11+14+15+23+12+5+4+7+5=96%

鐖辨儏錛?/span> L+O+V+E=12+5+22+5=54%

濂借繍錛?/span> L+U+C+K=12+21+3+11=47%

榪欎簺鎴戜滑閫氬父闈炲父鐪嬮噸鐨勪笢瑗塊兘涓嶆槸鏈瀹屾弧鐨勶紝铏界劧瀹冧滑闈炲父閲嶈銆傞偅涔堬紝絀剁珶浠涔堣兘浣垮緱鐢熸椿鍙樺緱鍦嗘弧錛?/span>

鏄噾閽卞悧錛?/span> M+O+N+E+Y=13+15+14+5+25=72%

鏄瀵煎姏鍚楋紵 L+E+A+D+E+R+S+H+I+P=12+5+1+4+5+18+19+9+16=89%

鏄у悧錛?/span> S+E+X=19+24+5=48%

閭d箞錛屼粈涔堣兘浣跨敓媧誨彉鎴?/span> 100% 寰楀渾婊″憿錛?/span>

蹇冩侊紒 A+T+T+I+T+U+D+E=1+20+20+9+20+21+4+5=100%

姝f槸鎴戜滑瀵瑰緟宸ヤ綔銆佺敓媧誨緱鎬佸害鑳藉浣挎垜浠殑鐢熸椿杈懼埌 100% 鐨勫渾婊★紒



]]>
鐢ㄦ寚閽堣皟鐢ㄥ嚱鏁扮殑涓嶅悓褰㈠紡http://m.shnenglu.com/majianan/archive/2006/09/14/12436.html椹槈妤?/dc:creator>椹槈妤?/author>Thu, 14 Sep 2006 02:08:00 GMThttp://m.shnenglu.com/majianan/archive/2006/09/14/12436.htmlhttp://m.shnenglu.com/majianan/comments/12436.htmlhttp://m.shnenglu.com/majianan/archive/2006/09/14/12436.html#Feedback0http://m.shnenglu.com/majianan/comments/commentRss/12436.htmlhttp://m.shnenglu.com/majianan/services/trackbacks/12436.html

鐢ㄦ寚閽堣皟鐢ㄥ嚱鏁扮殑涓嶅悓褰㈠紡
Ma Jia nan
2006-1-16
聽聽聽 鏈鍒濅竴涓嚱鏁版寚閽堝繀欏葷敤*鎿嶄綔絎︼紙鍜屼竴瀵規(guī)嫭鍙鳳級鈥滆漿鎹負(fù)鈥濅竴涓滅湡姝g殑鈥濆嚱鏁版墠鑳借皟鐢紝濡備笅鎵紺猴細(xì)
聽聽聽聽int r, func(), (*pf)() = func;聽//鍑芥暟鎸囬拡鐨勫垵濮嬪寲
聽聽聽 r = (*pf)();聽聽//鍑芥暟鐨勬寚閽堣皟鐢ㄥ艦寮?錛岀瓑浠蜂簬 r = func();
聽聽聽 鍑芥暟鎬繪槸閫氳繃鎸囬拡榪涜璋冪敤鐨勶紝鎵鏈夆滅湡姝g殑鈥濆嚱鏁板悕鎬繪槸闅愬紡鐨勯鍖栦負(fù)鎸囧悜璇ュ嚱鏁扮殑鎸囬拡錛?姝e鍦ㄥ鍑芥暟鎸囬拡pf鍒濆鍖栧仛鐨勯偅鏍鳳細(xì)
聽聽聽 int func();
聽聽聽 int (*pf)() = func;
聽聽聽 榪欐湁鐐圭被浼兼暟緇勫悕鐨勮涓猴紙涓嶅甫涓嬫爣鎿嶄綔絎︾殑鏁扮粍鍚嶄細(xì)琚В閲婃垚鎸囧悜鏁扮粍棣栧厓绱犵殑鎸囬拡錛夈?

聽聽聽 浠ヤ笂緇撹琛ㄦ槑錛屼笅闈㈢殑璇彞涔熸槸姝g‘鐨勩?
聽聽聽 r = pf();聽聽聽聽 //鍑芥暟鐨勬寚閽堣皟鐢ㄥ艦寮?
聽聽聽 ANSI C 鏍囧噯瀹為檯涓婃帴鍙楀艦寮?錛岃繖鎰忓懗鐫涓嶅啀闇瑕?鎿嶄綔絎︼紝浣嗗艦寮?渚濈劧鍏佽銆備袱縐嶅艦寮忎駭鐢熺浉鍚岀殑緇撴灉錛屼絾鏄艦寮?璁╄鑰呮洿娓呮璇ヨ皟鐢ㄦ槸閫氳繃鍑芥暟鎸囬拡鎵ц鐨勩?


]]>
欏哄簭瀹瑰櫒鎿嶄綔http://m.shnenglu.com/majianan/archive/2006/09/14/12435.html椹槈妤?/dc:creator>椹槈妤?/author>Thu, 14 Sep 2006 02:07:00 GMThttp://m.shnenglu.com/majianan/archive/2006/09/14/12435.htmlhttp://m.shnenglu.com/majianan/comments/12435.htmlhttp://m.shnenglu.com/majianan/archive/2006/09/14/12435.html#Feedback0http://m.shnenglu.com/majianan/comments/commentRss/12435.htmlhttp://m.shnenglu.com/majianan/services/trackbacks/12435.html

聽 聽 C++ Primer 瀛︿範(fàn)鏈聽聽

Ma Jia nan


涓 欏哄簭瀹瑰櫒鎿嶄綔涔嬫彃鍏ワ紙insert錛?/strong>
鍚戝鍣ㄤ腑鎻掑叆鍏冪礌鏈変互涓嬪嚑縐嶅艦寮忥細(xì)
1錛?鏈涓鑸殑褰㈠紡錛?

聽聽 vector<string> svec;
聽聽 list<string> slist;

聽聽 string s( "MaJianan" );
聽聽 slist.insert( slist.begin(), s );
聽聽 svec.insert( svec.begin(), s );

insert()灝嗙浜屼釜鍙傛暟錛堣琚彃鍏ョ殑鍊鹼級鎻掑叆鍒扮涓涓弬鏁幫紙鎸囧悜瀹瑰櫒涓煇涓綅緗殑iterator錛夋寚鍚戠殑浣嶇疆鐨勫墠闈€?

鏇翠負(fù)闅忔満鐨勬彃鍏ユ搷浣滃彲浠ュ涓嬪疄鐜幫細(xì)

聽聽 string s1( "yuanlaishini" );
聽聽 list<string>::iterator iter;

聽聽 iter = find( slist.begin(), slist.end(), s1 );
聽聽 slist.insert( iter, s1 );

find()榪斿洖琚煡鎵懼厓绱犲湪瀹瑰櫒涓殑浣嶇疆錛屽鏋滄煡鎵懼け璐ワ紝榪斿洖end()iterator.
聽聽聽
//slist.push_back( value )絳変環(huán)浜幝犅犅?
slist.insert( slist.end(), value );

2錛?鍦ㄦ煇涓綅緗彃鍏ユ寚瀹氭暟閲忕殑鍏冪礌.
聽聽 渚嬪錛屽湪vector鐨勫紑濮嬪鎻掑叆10涓狹aJianan錛?

聽聽 vector<string> svec;
聽聽 string mjn( "MaJianan" );

聽聽 svec.insert( svec.begin(), 10, mjn );

3錛夊悜瀹瑰櫒鎻掑叆涓孌佃寖鍥村唴鐨勫厓绱狅細(xì)

聽string sa[3] = { "MaJianan", "yuanlaishini", "blog.sina.com.cn"};

聽 聽//鎻掑叆鏁扮粍涓殑鍏ㄩ儴鍏冪礌
聽聽 svec.insert( svec.begin(), sa, sa+3 );

聽 聽//鎻掑叆鏁扮粍涓殑閮ㄥ垎鍏冪礌
聽聽 svec.insert( svec.begin() + svec.size()/2, sa+1, sa+3 );聽聽

4錛夐氳繃涓瀵筰terator鏉ユ爣璁板甫鎻掑叆鍊肩殑鑼冨洿錛屽彲浠ユ槸鍙︿竴涓獀ector

渚嬩竴錛?br />聽聽 //鎻掑叆svec涓惈鏈夌殑鍏冪礌錛屼粠svec2涓棿寮濮?br />聽聽 svec2.insert( svec2.begin() + svec2.size()/2, svec.begin(), svec.end() );

聽聽 渚嬩簩錛?br />聽聽 //鎶妔evc涓殑鍏冪礌鎻掑叆鍒皊list涓璼Value鐨勫墠闈?br />聽聽 list<string> slist;
聽聽 list<string>::iterator iter = find( slist.begin(), slist.end(), sValue );
聽聽 slist.insert( iter, svec.begin(), svec.end() );


浜?欏哄簭瀹瑰櫒鎿嶄綔涔嬪垹闄わ紙erase錛?/strong>

1錛?鍒犻櫎鍗曚釜鍏冪礌

list<string> slist;
... ...
sting sValue( "yuanlaishini" );
list<string>::iterator iter=find( slist.begin(), slist.end(), sValue );
if( iter!=slist.end() )
聽聽聽聽聽 聽slist.erase( iter );

2錛?鍒犻櫎鏈変竴瀵筰terator鏍囪鐨勪竴孌佃寖鍥村唴鐨勫厓绱?

//鍒犻櫎鎵鏈夊厓绱?br />slist.erase( slist.begin(), slist.end() );

//鍒犻櫎閮ㄥ垎鍏冪礌
渚嬩竴錛?br />slist.erase( slist.begin()+slist.size()/2, slist.end() );

渚嬩簩錛?br />list<string>::iterator first, last;
first=find( slist.begin(), slist.end(). value1);
last=find( slist.begin(), slist.end(). value2);
//媯楠宖irst鍜宭ast鐨勬湁鏁堟?br />slist.erase( first, last );


3錛?涓巔ush_back()鐩稿搴旓紝pop_back()鍒犻櫎瀹瑰櫒鐨勬湯灝懼厓绱犮?


涓?欏哄簭瀹瑰櫒鎿嶄綔涔嬭祴鍊?=)鍜屽鎹?swap)

//slist1鍚湁8涓厓绱?br />//slist2鍚湁16涓厓绱?br />1)濡傛灉 slist1 = slist2;

聽 slist1鎷ユ湁涓庤鎷瘋礉瀹瑰櫒鐩稿悓鐨勫厓绱犳暟鐩?--16.slist2鏈?6涓厓绱狅紝娌℃湁鍙樺寲銆?br />聽 slist1涓師鏉ョ殑8涓厓绱犺鍒犻櫎(璋冪敤string鐨勬瀽鏋勫嚱鏁?

2)濡傛灉 slist1.swap( slist2 );

聽 slist1鐜板湪鏈?6涓厓绱狅紝鑰宻list2鍑芥暟slist1涓師鏈夌殑8涓厓绱犵殑鎷瘋礉
聽 濡傛灉涓や釜瀹瑰櫒闀垮害涓嶅悓錛屽垯閲嶇疆瀹瑰櫒鐨勯暱搴β?




]]>
紜畾鍩虹被鏈夎櫄鏋愯喘鍑芥暟http://m.shnenglu.com/majianan/archive/2006/09/14/12434.html椹槈妤?/dc:creator>椹槈妤?/author>Thu, 14 Sep 2006 02:05:00 GMThttp://m.shnenglu.com/majianan/archive/2006/09/14/12434.htmlhttp://m.shnenglu.com/majianan/comments/12434.htmlhttp://m.shnenglu.com/majianan/archive/2006/09/14/12434.html#Feedback0http://m.shnenglu.com/majianan/comments/commentRss/12434.htmlhttp://m.shnenglu.com/majianan/services/trackbacks/12434.html 褰撻氳繃鍩虹被鐨勬寚閽堝幓鍒犻櫎媧劇敓綾葷殑瀵硅薄錛岃屽熀綾繪湁娌℃湁铏氭瀽璐嚱鏁扮殑鏃跺欙紝緇撴灉灝嗘槸涓嶅彲紜畾鐨勩傦紙瀹為檯榪愯鏃跺父鍙戠敓鐨勬儏鍐墊槸錛屾淳鐢熺被鐨勬瀽璐嚱鏁版案榪滀笉浼?xì)琚皟鐢ㄥQ?
铏氬嚱鏁扮殑鐩殑鏄媧劇敓綾誨幓鍒跺畾鑷繁鐨勮涓猴紝鎵浠ュ嚑涔庢墍鏈夌殑鍩虹被閮芥湁铏氬嚱鏁般?
濡傛灉鏌愪釜綾諱笉鍖呭惈铏氬嚱鏁幫紝閭d竴鑸槸琛ㄧず浠栧皢涓嶄綔涓哄熀綾繪潵浣跨敤錛屽綋涓涓被涓嶅噯澶囧仛鍩虹被浣跨敤鐨勬椂鍊欙紝浣挎瀽璐嚱鏁頒負(fù)铏氫竴鑸槸涓敊璇殑閫夋嫨銆?


]]>
鏋侀檺緙栫▼鈥曗曠悊瑙e拰瀹炶返錛堣漿杞斤級http://m.shnenglu.com/majianan/archive/2006/08/26/11728.html椹槈妤?/dc:creator>椹槈妤?/author>Sat, 26 Aug 2006 02:15:00 GMThttp://m.shnenglu.com/majianan/archive/2006/08/26/11728.htmlhttp://m.shnenglu.com/majianan/comments/11728.htmlhttp://m.shnenglu.com/majianan/archive/2006/08/26/11728.html#Feedback0http://m.shnenglu.com/majianan/comments/commentRss/11728.htmlhttp://m.shnenglu.com/majianan/services/trackbacks/11728.html浣滀負(fù)鏁忔嵎杞歡寮鍙戦鍩熶富嫻佺殑寮鍙戞柟娉曪紝鏋侀檺緙栫▼涓庡叾璇存槸涓縐嶇郴緇熺殑鏂規(guī)硶瀛︼紝鍊掓洿鍍忔槸涓緋誨垪鏈浣?jīng)_疄璺電殑鏈夋満緇撳悎銆傚湪榪欎簺鏈浣?jīng)_疄璺典腑錛屾湁浜涙槸宸茬粡騫夸負(fù)浜轟滑鎵鎺ュ彈鐨勶紙濡傜紪鐮佹爣鍑嗭級錛岃屾洿澶氱殑鍒欐瀬鍏烽瑕嗘э紝鍒濈湅涔嬩笅璁╀漢浼間箮闅句互鎺ュ彈銆?/font>

鏈枃涓紝鎴戝皢閽堝榪欎簺鐪嬩技鎬紓鐨勬渶浣?jīng)_疄璺甸槓榪版垜鐨勮鐐癸紝騫剁畝榪版垜瀵瑰疄鏂借繖浜涙渶浣?jīng)_疄璺電殑涓浜涙濊冦?/font>

涓銆佽鍒掓父鎴?/font>

鑳藉鎶婅鍒掑彨鍋?#8220;娓告垙”鏄渶瑕佷竴瀹氬媷姘旂殑銆傚湪浼犵粺鐨勮蔣浠跺紑鍙戞柟娉曞涓紝璁″垝鏄婦瓚寵交閲嶇殑涓鐜紝鍦ㄥ埗璁㈣鍒掑墠闇瑕佷粩緇嗙殑浼扮畻錛屽湪璁″垝瀹炴柦鐨勮繃紼嬩腑錛岃繕瑕佷笉鍋滅殑璺熻釜銆佷慨姝o紝鐩磋嚦鏁翠釜欏圭洰瀹屾垚銆?/font>

鑰屽湪XP涓紝璁″垝浼間箮瑕佽交鏉捐澶氥傝繖騫朵笉鏄洜涓鴻鍒掓湰韜彉寰楄崏鐜囧拰鏃犲叧鐥涚棐錛岃屾槸寰楃泭浜嶺P鐨勫皬鐗堟湰鍙戝竷鎬濈淮銆傝蔣浠剁殑涓涓増鏈槸濡傛鐭皬綆鍗曪紝浠ヨ嚦浜庡瀹冭繘琛屽畬鏁寸殑璇勪及銆侀綆椼佽窡韙拰淇瑕佸鏄撹澶氥備簨瀹炰笂錛孹P涓噰鐢ㄧ殑璁″垝鏂瑰紡錛堜笟鍔′漢鍛樺拰寮鍙戜漢鍛樺叡鍚屽弬涓庯紝鍚勫徃鍏惰亴錛夊湪澶у鏁扮幇浠h蔣浠朵紒涓氫腑鏃╁凡閲囩敤錛屼絾鏄敱浜庨」鐩繃浜庡簽澶э紝寰堥毦鍦ㄥ紑濮嬮樁孌靛埗璁㈠嚭瀹屽杽鐨勮鍒掋傝屽湪XP涓紝浜轟滑鍙渶瑕侀拡瀵逛竴涓竴涓や釜鏈堢殑灝忛」鐩繘琛岃窡韙拰綆$悊錛屾棤褰腑闄嶄綆浜嗚鍒掔殑椋庨櫓銆?/font>

浜屻侀殣鍠?/font>

    鍦╔P涓紝浜轟滑緇忓父浼?xì)鋴社敤闅愬柪L潵浠f浛浼犵粺寮鍙戣繃紼嬩腑鐨勪綋緋葷粨鏋勮璁°備粠鎸囧寮鍙戠殑瑙掑害鏉ヨ錛岄殣鍠諱技涔庝笉澶熺簿紜紝瀹規(guī)槗璁╀漢璇В銆備絾鏄紝瀵逛簬鍏鋒湁綾諱技鑳屾櫙鐨勫悓涓涓」鐩粍涓殑寮鍙戜漢鍛樻潵璇達(dá)紝闅愬柣鍒欐洿渚夸簬鐞嗚В鍜屼氦嫻併傚緢闅炬兂璞′袱涓▼搴忓憳闈㈠鐫涓寮犲簽澶х殑浣撶郴緇撴瀯鍥炬椂鑳藉鐪熸鏈夋晥鐨勬矡閫氾紝鑰岄殣鍠誨緢濂界殑瑙e喅浜嗚繖涓棶棰樸?/font>

涓夈佺畝鍗曡璁?/font>

涓嶇煡閬撲粠浠涔堟椂鍊欏紑濮嬶紝寮鍙戜漢鍛樹範(fàn)鎯簡涓烘槑澶╄岃璁°備竴涓紑鍙戜漢鍛樿璁′簡涓涓鏉傜殑綾葷戶鎵跨粨鏋勶紝鍙槸涓轟簡鎻愰珮紼嬪簭鐨勬墍璋撶伒媧繪с傛病浜虹煡閬撹繖鏍峰間笉鍊鹼紝騫朵笉鏄蔣浠剁殑姣忎竴涓儴鍒嗛兘闇瑕佹墿灞曘備絾鏄紝瀵逛簬浼犵粺鐨勮蔣浠跺紑鍙戜漢鍛樻潵璇達(dá)紝榪欎箞鍋氬張鏄揩涓嶅緱宸層傚鏋滄病鏈夐鍏堝仛濂藉噯澶囷紝鍦ㄥ彉鍖栨潵涓存椂灝變細(xì)鎺墜涓嶅強錛屼粯鍑烘矇閲嶇殑浠d環(huán)銆?/font>

浣嗘槸鍦╔P涓紝灝忕増鏈彂琛岀殑鏂規(guī)硶浣垮緱鍙樺寲騫朵笉閭d箞鍙曪紝鑰岄噸鏋勭殑騫挎硾閲囩敤錛屼嬌寰椾唬鐮佹繪槸鍙互鍦ㄩ渶瑕佹椂鍙樺緱鏇村姞鐏墊椿銆傛澶栵紝鐢變簬浣犵殑浠g爜鎬繪槸浼?xì)琚埆錆h瀹℃煡錛堜唬鐮侀泦浣撴墍鏈夋潈鍜岀粨瀵圭紪紼嬶級錛屽洜姝や篃鍙互閬垮厤榪囦簬榪芥眰綆鍗曡屽拷瑙嗕簡閲嶈鐨勭粏鑺傘?/font>

鍥涖佹祴璇曚紭鍏?/font>

娌℃湁浠g爜瑕佹祴璇曠▼搴忔湁浠涔堢敤錛熻繖鏄祴璇曚紭鍏堟渶瀹規(guī)槗璁╀漢璇В鐨勫湴鏂廣傛祴璇曚紭鍏堣兘澶熻寮鍙戜漢鍛樻洿娓呮鐨勮璇嗗埌錛岀▼搴忓皢浼?xì)濡備綍琚娇鐢ㄣ傞氳繃瀵逛笉鍚岀殑嫻嬭瘯鐢ㄤ緥鐨勬濊冿紝寮鍙戜漢鍛樹篃鑳藉鏇存竻鏅扮殑璁よ瘑鍒扮▼搴忕殑鍔熻兘澶栧歡銆傝屾洿澶氱殑鍏朵粬鐨勫紑鍙戜漢鍛橈紝鍒欓氳繃嫻嬭瘯鐢ㄤ緥灝卞彲浠ヨ幏寰椾竴浠界簿紜殑浣跨敤鎵嬪唽錛屽湪榪欎喚浣跨敤鎵嬪唽涓紝鎻忚堪浜嗕綔鑰呰冭檻鍒扮殑鎵鏈夎緭鍏ュ拰杈撳嚭緇撴灉錛岃繖鏍蜂笉浠呬究浜庝漢浠簡瑙g▼搴忥紝鏇村鍔犱簡鍙戠幇紼嬪簭閿欒鐨勬満浼?xì)锛埦~哄け鐨勬祴璇曠敤渚嬪線寰浣撶幇鍑轟綔鑰呭拷瑙嗙殑鏌愪簺浣跨敤鎯呭喌錛夈?/font>

浜斻佺粨瀵圭紪紼?/font>

涓や釜紼嬪簭鍛樺潗鍦ㄤ竴璧鳳紝鑳藉鎻愰珮寮鍙戞晥鐜囧悧錛熺▼搴忓憳闅鵑亾涓嶆槸涓緹ら珮鍌茬殑鐚紝涔?fàn)鎯簬绂痪煠鐑﹀眳锛屾妸澶存姮寰楅珮楂樺悧锛?/font>

浜嬪疄騫墮潪濡傛銆傚湪涓涓紜殑銆佸悎鐞嗙殑銆佽兘澶熷疄鐜扮殑澶х洰鏍囦笅錛岀▼搴忓憳浠笉浠呰兘澶熷拰騫沖叡澶勶紝鏇村彲浠ョ浉浜掑悎浣滐紝鍒涢犲嚭浼樼鐨勩侀珮璐ㄩ噺鐨勭▼搴忋傛矡閫氫竴鐩存槸杞歡欏圭洰綆$悊涓殑涓涓噸瑕佽棰橈紝鑰岀粨瀵圭紪紼嬫彁渚涗簡涓涓崄鍒嗘湁鏁堢殑娌熼氭笭閬撱傛澶栵紝緇撳緙栫▼涔熸洿瀹規(guī)槗璁╂柊浜鴻瀺鍏ュ洟浣撱傚湪鍑犱釜楂樼駭紼嬪簭鍛樼殑鎸囧紩涓嬶紝浠栦細(xì)鏇村鏄撴壘鍑虹▼搴忕殑鑴夌粶錛屾妸鎻$▼搴忕殑鎬濇兂銆傝緝涔嬫瑙勭殑鍩硅錛岃繖縐嶆柟寮忔洿杞繪澗涔熸洿鏈夋晥銆傚浜庡洟闃熶腑鐨勬墍鏈夌▼搴忓憳鏉ヨ錛岀粨瀵圭紪紼嬮兘鏄竴涓簡瑙e叾浠栦漢璁捐鎬濇兂鐨勬満浼?xì)锛岄氳繃緇撳緙栫▼錛岃兘澶熸洿濂界殑瀹炵幇浠g爜闆嗕綋鎵鏈夋潈錛屼篃鑳藉闄嶄綆鍥犱負(fù)浜哄憳?gòu)箒鍔ㄩ犳垚鐨勯闄┿?/font>

緇撳緙栫▼鏈澶х殑濂藉鍦ㄤ簬錛岃兘澶熸瀬澶х殑鍑忓皯紼嬪簭涓綔鍦ㄥ彉鍖栫殑鍙兘鎬с備袱涓漢閫氳繃浜ゆ祦浜掔浉浜ゆ崲鑷繁瀵圭▼搴忕殑涓嶅悓鐞嗚В錛屾洿瀹規(guī)槗鎵懼嚭紼嬪簭涓彲鑳藉嚭鐜扮殑鍙樺寲鎴栭敊璇紝浠庤屼嬌紼嬪簭鏇村姞鍙潬鍜屽仴澹?/font>

鍏佹寔緇泦鎴?/font>

闆嗘垚涓鐩存槸鏈璐瑰姏鐨勫伐浣滀箣涓錛屾湰鏉ュ伐浣滅殑濂藉ソ鐨勪唬鐮侊紝鏀懼湪涓璧峰氨涓嶈兘榪愯漿錛屾洿緋熺硶鐨勬槸鎴愮櫨涓婂崈鏉′笉鐭ユ墍浜戠殑閿欒鐮侊紝娌℃湁浜虹煡閬撹繖浜涢敊璇爜鏉ヨ嚜浣曞銆傝繖鏄瘡涓」鐩嚑涔庨兘浼?xì)閬囧埌鐨勬渶鍥伴毦鐨勯樁孌碉紝紼嬪簭鍛樹滑蹇呴』闆嗗悎鍦ㄤ竴璧鳳紝緲婚槄鏁伴噺宸ㄥぇ鐨勬帴鍙e畾涔夋枃浠訛紝鍙嶅鏌ョ湅浠g爜錛屽悓鏃惰繕瑕佷笉鏂殑鍋氬嚭鎵胯銆?/font>

鎸佺畫闆嗘垚姝f槸瑙e喅涓婅堪闂鐨勬柟娉曘傞氳繃澶氭銆佸皬澧為噺鐨勯泦鎴愶紝鎴戜滑鎬繪槸鑳藉浠ユ渶蹇殑閫熷害瀹氫綅閿欒鍑虹幇鐨勪綅緗紙鍥犱負(fù)澧炲姞鐨勪唬鐮佸緢灝戯級錛岀粨鍚堝ぇ閲忔祴璇曠敤渚嬶紝鎴戜滑涔熷彲浠ョ‘淇濇瘡涓涓泦鎴愮増鏈兘灝藉彲鑳界殑鍙潬銆?/font>

姝ゅ錛屾寔緇泦鎴愬嚑涔庡彲浠ュ湪浠諱綍鏃墮棿鍚戞垜浠彁渚涗竴涓彲浠ュ伐浣滅殑鐗堟湰錛屾垜浠彲浠ュ皢榪欎釜鐗堟湰鐢ㄤ簬鍐呴儴璁ㄨ鍜屾祴璇曘佸鎴峰睍紺恒佸鎴鋒祴璇曘佸皬鐗堟湰鍙戝竷絳夌瓑錛岃繖浣垮緱鎴戜滑涓嶉渶瑕佽姳璐瑰お澶氱殑鏃墮棿瀵圭幇鏈夌殑紼嬪簭淇慨琛ヨˉ錛屼互鐢熸垚涓涓猟emo銆?/font>

涓婃枃綆鍗曞彊榪頒簡XP涓父浼?xì)寮曡捣浜夎鐨勫叚涓渶浣?jīng)_疄璺電殑浼樼偣銆備笅闈㈡湰鏂囧皢緇撳悎瀹為檯璋堣皥瀹炴柦XP涓渶瑕佹敞鎰忕殑涓浜涢棶棰樸?/font>

涓銆侀傜敤鎬ч棶棰?/font>

XP鐞嗚鍦ㄦ彁鍑烘椂錛屾槑紜殑璇存槑錛歑P鏄傜敤浜庝腑灝忓瀷鍥㈤槦鍦ㄩ渶姹備笉鏄庣‘鎴栬呰繀閫熷彉鍖栫殑鎯呭喌涓嬭繘琛岃蔣浠跺紑鍙戠殑杞婚噺綰ф柟娉曘傝繖灝辨剰鍛崇潃錛孹P騫朵笉閫傜敤浜庢墍鏈夋儏鍐點傚湪鍑嗗瀹炴柦XP鍓嶏紝浣犱篃璁?dāng)R渶瑕佷粩緇嗚瘎浼伴」鐩殑鍏蜂綋鎯呭喌錛屼互鍐沖畾鏄惁鐪熺殑闇瑕侀噰鐢╔P銆?/font>

浜屻佹渶浣?jīng)_疄璺甸棿鐨勫叧鑱?/font>

XP鐨勪竴涓壒鐐規(guī)槸錛屽畠鎵鎺ㄥ磭鐨勬渶浣?jīng)_疄璺靛嚑涔庢繪槸鍜屽叾瀹冨疄璺靛叧鑱旂揣瀵嗭紝鍦ㄥ疄鏂戒竴欏規(guī)渶浣?jīng)_疄璺墊椂錛屽鏋滀笉鍚屾椂瀹炴柦鍏跺畠瀹炶返錛屽線寰闅句互杈懼埌鏈鍒濈殑鐩殑銆傚洜姝わ紝鍦ㄥ疄鏂絏P鏃訛紝闇瑕佷粩緇嗙爺絀跺悇欏瑰疄璺甸棿鐨勫叧鑱旓紝浠ョ‘瀹氭渶浣崇殑瀹炴柦鏂規(guī)銆?/font>

涓夈佸鏉劇殑鐜

XP鏄竴縐嶈拷姹傝嚜鐒剁殑宸ヤ綔鏂規(guī)硶銆傚畠鎵鍊″鐨勬槸錛岀▼搴忓憳浠互鏈鑷劧寮鍙戠殑鏂瑰紡瀹屾垚浠栦滑鐨勫伐浣溿傚浜庝範(fàn)鎯簡浼犵粺寮鍙戞柟娉曚弗鏍肩鐞嗗埗搴︾殑綆$悊浜哄憳鏉ヨ錛岃繖寰寰鏄緢闅炬帴鍙楃殑銆備簬鏄氨鍑虹幇浜嗭紝铏界劧鏈楂樺喅絳栦漢鍐沖畾瀹炴柦XP錛屼絾綆$悊灞傚嵈鏃犳硶錛堟垨涓嶆効錛夌粰寮鍙戜漢鍛樻彁渚涘鏉劇殑鐜銆傚湪涓涓彜鏉垮兊鍖栫殑鏂規(guī)閲岋紝寮鍙戜漢鍛樹笉浼?xì)鐪熸鐨勫洖澶嶈嚜鐒跺Q屼粬浠細(xì)瑁呬綔姝e湪瀹炶返XP錛屼絾浜嬪疄涓婏紝浠栦滑渚濈劧鍦ㄨ佽礬涓婅璧幫紙鍙互瑙佸埌寰堝榪欐牱鐨勪緥瀛愶紝姣斿涓浜涜櫄寮犲0鍔跨殑嫻嬭瘯鐢ㄤ緥絳夌瓑錛夈?/font>

鍥涖佸繊鍙楀彉鍖?/font>

XP瀵逛簬浼犵粺杞歡欏圭洰綆$悊鎬濇兂鐨勫啿鍑伙紝鍙兘浼?xì)鋴慑緢澶毥帯鐞嗕汉鍛樻劅鍒颁笉鑸掓湇銆備篃璁竂P涓緇忓疄鏂斤紝灝變細(xì)緇欓」鐩粍甯︽潵緲誨ぉ瑕嗗湴鐨勫彉鍖栥傚鏋滆繖鏍風(fēng)殑鍙樺寲璁╀綘鎰熷埌鎭愭儳錛岄偅涔堣鏆傛椂蹇嶈愶紝浣犱笉鑳借偗瀹氳繖縐嶅彉鍖栦笉濂斤紝闄ら潪浣犱翰鐪肩湅鍒般傚埌閭f椂鍐嶅喅瀹氫篃涓嶈繜銆?/font>

浜斻佹參鎱㈡潵

瀹炴柦XP鐨勮繃紼嬩笉鑳芥搷涔嬭繃鎬ャ傛渶濂界殑鏂規(guī)硶鏄紝鍦ㄩ儴鍒嗛」鐩粍涓厛琛屽疄鏂斤紝瀹炴柦鏃朵篃涓嶉渶瑕佸悓鏃跺疄鏂芥墍鏈夊疄璺碉紙浣嗚娉ㄦ剰鍚勪釜瀹炶返闂寸殑鍏寵仈闂錛夈傛湁鐨勬椂鍊欎綘浼?xì)鍙戠帋图屽湪瀹炴柦浜嗛儴鍒嗗疄璺靛悗锛屽叾瀹冪殑瀹炶返涔熸垚湄?fù)姘村埌娓犳垚鐨勪簨鎯呫傚綋緇忚繃浠旂粏璇勪及錛岀‘淇P鍦ㄩ」鐩粍涓‘瀹炴湁鏁堝悗錛屽啀閫愭鍦ㄤ紒涓氳寖鍥村唴鎺ㄥ箍錛屽繀瑕佺殑鏃跺欙紝闇瑕侀噰鍙栬嚜鎰跨殑鍘熷垯錛岀敱欏圭洰緇勭殑鎴愬憳鍐沖畾鏄惁闇瑕佸疄鏂絏P銆?/font>

浠ヤ笂鍗蟲槸鎴戝湪杞歡宸ョ▼榪囩▼璇劇▼涓互鍙婂鉤鏃跺伐浣溿佸涔?fàn)涓XP鐨勪竴浜涜璇嗐?/font>


鏉ユ簮錛?/font> http://blog.csdn.net/leasun/archive/2006/08/15/1067508.aspx



]]>
iostream 鍜?iostream.h 鐨勫尯鍒?http://m.shnenglu.com/majianan/archive/2006/08/26/11727.html椹槈妤?/dc:creator>椹槈妤?/author>Sat, 26 Aug 2006 01:49:00 GMThttp://m.shnenglu.com/majianan/archive/2006/08/26/11727.htmlhttp://m.shnenglu.com/majianan/comments/11727.htmlhttp://m.shnenglu.com/majianan/archive/2006/08/26/11727.html#Feedback5http://m.shnenglu.com/majianan/comments/commentRss/11727.htmlhttp://m.shnenglu.com/majianan/services/trackbacks/11727.html                                          < iostream > 鍜?< iostream.h > 鐨勫尯鍒?/font>

鍏抽敭璇嶏細(xì)< iostream > 鍜?< iostream.h >
 
浣犲啓紼嬪簭鐨勬椂鍊欙紝鐢?lt; iostream >榪樻槸< iostream.h >錛?
浣犵煡閬撳畠浠湁浠涔堝尯鍒箞錛熻繕鏄涓轟粬浠牴鏈氨鏄竴鏍風(fēng)殑錛?
涓嬮潰鍚垜緇欎綘鍚癸紙鏂囦腑綰睘涓漢璦璁猴紝涓嶆秹鍙婂浗瀹舵満瀵嗭紝璇鋒斁蹇冮槄璇伙紝鑻ヨ漿杞借娉ㄦ槑鍑哄浣滆區(qū)-^錛?
                              ---majianan
 
 
鍏跺疄娌℃湁< iostream.h >榪欐牱鐨勪笢瑗?--- 鏍囧噯鍖栧鍛樹細(xì)鍦ㄧ畝鍖栭潪C鏍囧噯澶存枃浠舵椂鐢?lt; iostream > 鍙栦唬浜嗗畠銆備絾鍙堟病鏈夊畬鍏ㄥ彇娑?lt; iostream.h >鐨勪嬌鐢紝騫朵笖寰堝緙栬瘧鍣ㄩ兘鍚屾椂鏀寔< iostream >鍜?lt; iostream.h >錛岄犳垚鐜板湪鐨勫眬闈紝鑰佸ぇ錛堟爣鍑嗗寲濮斿憳浼?xì)锛壖嫯瀹炴湁涓嶅緱宸茬殑鑻﹁鱻?
 
璇濊褰撳勾錛屽湪鏍囧噯鍖栧鍛樹細(xì)鍔ㄦ墜閲嶅緩鏂扮殑鏍囧噯搴撶殑鏃跺欙紝閬囧埌浜嗛棶棰樸備負(fù)浜嗛伩鍏嶇被鍚嶅嚱鏁板悕鐨勫啿紿侀棶棰橈紝寮曞叆浜嗗悕瀛楃┖闂磗td錛屼絾鏃犳暟鐜版湁鐨凜++浠g爜閮戒緷璧栦簬浣跨敤浜嗗騫寸殑浼爣鍑嗗簱涓殑鍔熻兘錛屼緥濡傦紝澹版槑鍦?lt; iostream.h >鍜?lt; complex.h >絳夊ご鏂囦歡涓殑鍔熻兘銆傜幇鏈夎蔣浠舵病鏈夐拡瀵逛嬌鐢ㄥ悕瀛楃┖闂磋岃繘琛岀浉搴旂殑璁捐鎴栬呭崌綰э紝濡傛灉鐢╯td鏉ュ寘瑁呮爣鍑嗗簱瀵艱嚧鐜版湁浠g爜涓嶈兘浣跨敤錛岄偅鎵嬪簳涓嬬殑灝忓紵錛堢▼搴忓憳錛夋槸涓嶄細(xì)鍚屾剰鐨勩?
 
鏍囧噯鍖栧鍛樹細(xì)涓轟簡鎷夋嫝浜哄績錛屽惛寮曟洿澶氱殑浜哄叆浼?xì)锛屽啗_畾涓哄寘瑁呬簡std鐨勯偅閮ㄥ垎鏍囧噯搴撴瀯寤烘柊鐨勫ご鏂囦歡鍚嶃傚皢鐜版湁C++澶存枃浠跺悕涓殑.h鍘繪帀錛屾墍浠ュ氨鍑虹幇浜?lt; iostream.h>鍜?lt; iostream >絳夊緢澶氬弻鑳?yōu)鑳庛傚浜嶤澶存枃浠訛紝閲囩敤鍚屾牱鏂規(guī)硶浣嗗湪姣忎釜鍚嶅瓧鍓嶈繕瑕佹坊鍔犱竴涓狢錛屾墍浠鐨?lt;string.h>鍙樻垚浜?lt;cstring>銆?
 
鏃х殑C++澶存枃浠舵槸瀹樻柟鏄庣‘鍙嶅浣跨敤鐨勶紝浣嗘棫鐨凜澶存枃浠跺垯娌℃湁錛堜互淇濇寔瀵笴鐨勫吋瀹規(guī)э級銆傚叾瀹炵紪璇戝櫒鍒墮犲晢涓嶄細(xì)鍋滄瀵瑰鎴風(fēng)幇鏈夎蔣浠舵彁渚涙敮鎸侊紝鎵浠ュ湪鍙互棰勮鐨勫皢鏉ワ紝鏃х殑C++澶存枃浠惰繕浼?xì)鍤e紶涓孌墊椂闂淬?
 
濡傛灉鑳芥槑鐧藉瓧絎︿覆澶存枃浠剁殑浣跨敤錛屼婦涓鍙嶄笁錛屽叾浠栫殑涔熷樊涓嶅浼?xì)鐢ㄤ簡銆?
 
<string.h>鏄棫鐨凜澶存枃浠訛紝瀵瑰簲鐨勬槸鍩轟簬char*鐨勫瓧絎︿覆澶勭悊鍑芥暟錛?
<string>鏄寘瑁呬簡std鐨凜++澶存枃浠訛紝瀵瑰簲鐨勬槸鏂扮殑strng綾伙紱
<cstring>鏄搴旀棫鐨凜澶存枃浠剁殑std鐗堟湰銆?
 
濂藉儚璺戣繙浜嗭紝璦褰掓浼犮傚鏋滀綘鐨勭紪璇戝櫒閮藉悓鏃舵敮鎸?lt; iostream >鍜?lt; iostream.h >錛岄偅浣跨敤#include < iostream >錛屽緱鍒扮殑鏄疆浜庡悕瀛楃┖闂磗td涓嬬殑iostream搴撶殑鍏冪礌錛涘鏋滀嬌鐢?include < iostream.h >錛屽緱鍒扮殑鏄疆浜庡叏灞絀洪棿鐨勫悓鏍風(fēng)殑鍏冪礌銆傚湪鍏ㄥ眬絀洪棿鑾峰彇鍏冪礌浼?xì)瀵艰嚧鍚嶅瓧鍐步H侊紝鑰岃璁″悕瀛楃┖闂寸殑鍒濊》姝f槸鐢ㄦ潵閬垮厤榪欑鍚嶅瓧鍐茬獊鐨勫彂鐢熴傝繕鏈夛紝鎵撳瓧鏃?lt; iostream >姣?lt; iostream.h >灝戜袱涓瓧錛屾墍浠ユ垜浼?xì)鋴社?lt; iostream > ^-^
 
鍥頒簡錛岀潯浜嗐?
 
 
                                      椹槈妤?
                                  2005-12-26 鍗堝


]]>
鍏充簬 sizeof() 鐨勪竴浜涙濊?http://m.shnenglu.com/majianan/archive/2006/08/25/11682.html椹槈妤?/dc:creator>椹槈妤?/author>Fri, 25 Aug 2006 01:25:00 GMThttp://m.shnenglu.com/majianan/archive/2006/08/25/11682.htmlhttp://m.shnenglu.com/majianan/comments/11682.htmlhttp://m.shnenglu.com/majianan/archive/2006/08/25/11682.html#Feedback1http://m.shnenglu.com/majianan/comments/commentRss/11682.htmlhttp://m.shnenglu.com/majianan/services/trackbacks/11682.html

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 鍏充簬 sizeof() 鐨勪竴浜涙濊?/font>聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽椹槈妤?br />
鍏抽敭璇嶏細(xì) sizeof

榪欐槸緗戜笂鐨勪竴涓笘瀛愶紝鏈鍒濇潵鑷偅閲屽凡緇忚涓嶅緱浜嗭紝涓嶈繃鎴戣寰楀緢涓嶉敊銆?/font>

鎴戝鍘熸枃鍋氫簡涓浜涗慨鏀癸紝騫舵坊鍔犱簡涓浜涘唴瀹廣傚鏋滄湁浠涔堥敊璇殑鍦版柟錛岃澶у鎸囨錛岃阿璋~

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 --- majianan 2005-12-19

0.鍏抽敭瀛?/font> 錛歴izeof錛屽瓧鑺傚榻愶紝綾誨瀷澶у皬

鍓嶅悜澹版槑錛?/font>
聽聽聽 sizeof錛屼竴涓叾璨屼笉鎵殑瀹朵紮錛屽紩鏃犳暟鑿滈笩绔熸姌鑵?

聽聽聽 灝忚櫨鎴戝綋鍒濅篃娌″皯鐘糠緋婏紝縐夌潃鈥滆緵鑻︽垜涓涓紝騫哥鍗冧竾浜衡濈殑浼熷ぇ鎬濇兂,鎴戝喅瀹氬皢鍏跺敖鍙兘璇︾粏鐨勬葷粨涓涓嬨?


聽聽聽 浣嗗綋鎴戞葷粨鐨勬椂鍊欐墠鍙戠幇錛岃繖涓棶棰樻棦鍙互綆鍗曪紝鍙堝彲浠ュ鏉傘傛墍浠ユ湰鏂囨湁鐨勫湴鏂瑰茍涓嶉傚悎鍒濆鑰咃紝鐢氳嚦閮芥病鏈夊繀瑕佸ぇ浣滄枃绔犮備絾濡傛灉浣犳兂鈥滅煡鍏剁劧錛屾洿鐭ュ叾鎵浠ョ劧鈥濈殑璇濓紝閭d箞榪欑瘒鏂囩珷瀵逛綘鎴栬鏈夋墍甯姪銆?br />聽聽聽

聽聽 聽鑿滈笩鎴戝C++鐨勬帉鎻″皻鏈繁鍏ワ紝鍏朵腑涓嶄箯閿欒錛屾榪庡悇浣嶆寚姝e晩

1. 瀹氫箟錛?br /> 聽聽聽 sizeof鏄綍鏂圭鍦o紵

聽聽聽 sizeof 涔?C/C++ 涓殑涓涓搷浣滅錛坥perator錛夋槸涔熴傜畝鍗曡鍏朵綔鐢ㄥ氨鏄繑鍥炰竴涓璞℃垨鑰呯被鍨嬫墍鍗犵殑鍐呭瓨瀛楄妭鏁般?br />
MSDN涓婄殑瑙i噴涓猴細(xì)

The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types).This keyword returns a value of type size_t.

聽聽聽 鍏惰繑鍥炲肩被鍨嬩負(fù)size_t錛屽湪澶存枃浠秙tddef.h涓畾涔夈傝繖鏄竴涓緷璧栦簬緙栬瘧緋葷粺鐨勫鹼紝涓鑸畾涔変負(fù)

typedef unsigned int size_t;

聽聽聽 涓栦笂緙栬瘧鍣ㄦ灄鏋楁繪伙紝浣嗕綔涓轟竴涓鑼冿紝瀹冧滑閮戒細(xì)淇濊瘉char銆乻igned char鍜寀nsigned char鐨剆izeof鍊間負(fù)1錛屾瘯绔焎har鏄垜浠紪紼嬭兘鐢ㄧ殑鏈灝忔暟鎹被鍨嬨?br />
2. 璇硶錛?/font>
聽聽聽 sizeof鏈変笁縐嶈娉曞艦寮忥紝濡備笅錛?br />聽聽聽 1) sizeof( object );聽聽聽 // sizeof( 瀵硅薄 );
聽聽聽 2) sizeof( type_name ); // sizeof( 綾誨瀷 );
聽聽聽 3) sizeof object;聽聽聽聽聽聽 // sizeof 瀵硅薄;

鎵浠ワ紝
int i;
sizeof( i );聽聽聽聽 // ok
sizeof i;聽聽 聽聽聽聽 // ok
sizeof( int );聽聽 // ok
sizeof int;聽聽聽聽聽 // error

鏃㈢劧鍐欐硶2鍙互鐢ㄥ啓娉?浠f浛錛屼負(fù)姹傚艦寮忕粺涓浠ュ強鍑忓皯鎴戜滑澶ц剳鐨勮礋鎷咃紝絎?縐嶅啓娉曪紝蹇樻帀瀹冨惂錛?

瀹為檯涓婏紝sizeof璁$畻瀵硅薄鐨勫ぇ灝忎篃鏄漿鎹㈡垚瀵瑰璞$被鍨嬬殑璁$畻銆備篃灝辨槸璇達(dá)紝鍚岀綾誨瀷鐨勪笉鍚屽璞″叾sizeof鍊奸兘鏄竴鑷寸殑銆?

榪欓噷錛屽璞″彲浠ヨ繘涓姝ュ歡浼歌嚦琛ㄨ揪寮忥紝鍗硈izeof鍙互瀵逛竴涓〃杈懼紡姹傚箋傜紪璇戝櫒鏍規(guī)嵁琛ㄨ揪寮忕殑鏈緇堢粨鏋滅被鍨嬫潵紜畾澶у皬錛屼竴鑸笉浼?xì)瀵硅〃杈惧紡杩涜璁〗帡銆?

渚嬪錛?

sizeof( 2 );聽聽聽聽聽聽聽聽// 2鐨勭被鍨嬩負(fù)int錛屾墍浠ョ瓑浠蜂簬 sizeof( int );
sizeof( 2 + 3.14 );聽// 3.14鐨勭被鍨嬩負(fù)double錛?涔熶細(xì)琚彁鍗囨垚double綾誨瀷錛屾墍浠ョ瓑浠蜂簬 sizeof( double );

聽聽聽 sizeof涔熷彲浠ュ涓涓嚱鏁拌皟鐢ㄦ眰鍊鹼紝鍏?font color="#0000ff">緇撴灉鏄嚱鏁拌繑鍥炵被鍨嬬殑澶у皬錛屽嚱鏁板茍涓嶄細(xì)琚皟鐢ㄣ?/font>鎴戜滑鏉ョ湅涓涓畬鏁寸殑渚嬪瓙錛?

*********************************************************

char foo()
{
聽聽聽聽printf("foo() has been called.\n");
聽聽聽聽return 'a';
}
int main()
{
聽聽聽聽size_t sz = sizeof( foo() );聽聽 // foo() 鐨勮繑鍥炲肩被鍨嬩負(fù)char錛屾墍浠z = sizeof(char)錛屼絾鍑芥暟foo()騫朵笉浼?xì)琚皟鐢?br />聽聽聽聽printf("sizeof( foo() ) = %d\n", sz);
}

*********************************************************

C99鏍囧噯瑙勫畾錛屽嚱鏁般佷笉鑳界‘瀹氱被鍨嬬殑琛ㄨ揪寮忎互鍙婁綅鍩燂紙bit-field錛夋垚鍛樹笉鑳借璁$畻sizeof鍊鹼紝鍗充笅闈㈣繖浜涘啓娉曢兘鏄敊璇殑錛?

聽聽聽 sizeof( foo );聽聽聽聽 // error
聽聽聽 void foo2() { }
聽聽聽 sizeof( foo2() );聽 // error
聽聽聽 struct S
聽聽聽 {
聽聽聽聽聽聽聽聽unsigned int f1 : 1;
聽聽聽聽聽聽聽聽unsigned int f2 : 5;
聽聽聽聽聽聽聽聽unsigned int f3 : 12;
聽聽聽 };
聽聽聽聽sizeof( S.f1 );聽聽 // error


3. sizeof鐨勫父閲忔?/font>


聽聽聽 sizeof鐨勮綆楀彂鐢熷湪緙栬瘧鏃跺埢錛屾墍浠ュ畠鍙互琚綋浣滃父閲忚〃杈懼紡浣跨敤銆傚錛?

char ary[ sizeof( int ) * 10 ];聽聽 // ok

鏈鏂扮殑C99鏍囧噯瑙勫畾sizeof涔熷彲浠ュ湪榪愯鏃跺埢榪涜璁$畻銆傚涓嬮潰鐨勭▼搴忓湪Dev-C++涓彲浠ユ紜墽琛岋細(xì)

int n;
n = 10;聽聽聽聽聽聽聽 // n鍔ㄦ佽祴鍊?br />char ary[n];聽聽 // C99涔熸敮鎸佹暟緇勭殑鍔ㄦ佸畾涔?br />printf("%d\n", sizeof(ary)); // ok. 杈撳嚭10

浣嗗湪娌℃湁瀹屽叏瀹炵幇C99鏍囧噯鐨勭紪璇戝櫒涓氨琛屼笉閫氫簡錛屼笂闈㈢殑浠g爜鍦╒C6涓氨閫氫笉榪囩紪璇戙傛墍浠ユ垜浠?font color="#0000ff">鏈濂借繕鏄涓簊izeof鏄湪緙栬瘧鏈熸墽琛岀殑錛岃繖鏍蜂笉浼?xì)甯︽潵閿欒锛岃绋嬪簭鐨勫彲绉绘鎬у己浜涖?


4. 鍩烘湰鏁版嵁綾誨瀷鐨剆izeof

榪欓噷鐨勫熀鏈暟鎹被鍨嬫寚short銆乮nt銆乴ong銆乫loat銆乨ouble榪欐牱鐨勭畝鍗曞唴緗暟鎹被鍨嬨傜敱浜庡畠浠兘鏄拰緋葷粺鐩稿叧鐨勶紝鎵浠ュ湪涓嶅悓鐨勭郴緇熶笅鍙栧煎彲鑳戒笉鍚屻傝繖鍔″繀寮曡搗鎴戜滑鐨勬敞鎰忥紝灝介噺涓嶈鍦ㄨ繖鏂歸潰緇欒嚜宸辯▼搴忕殑縐繪閫犳垚楹葷儲銆?

涓鑸殑錛屽湪32浣嶇紪璇戠幆澧冧腑錛宻izeof(int)鐨勫彇鍊間負(fù)4銆?


5. 鎸囬拡鍙橀噺鐨剆izeof

瀛﹁繃鏁版嵁緇撴瀯鐨勪綘搴旇鐭ラ亾鎸囬拡鏄竴涓緢閲嶈鐨勬蹇碉紝瀹冭褰曚簡鍙︿竴涓璞$殑鍦板潃銆?font color="#0000ff">鏃㈢劧鏄潵瀛樻斁鍦板潃鐨勶紝閭d箞瀹冨綋鐒剁瓑浜庤綆楁満鍐呴儴鍦板潃鎬葷嚎鐨勫搴︺?/font>鎵浠ュ湪32浣嶈綆楁満涓紝涓涓寚閽堝彉閲忕殑榪斿洖鍊煎繀瀹氭槸4錛堟敞鎰忕粨鏋滄槸浠ュ瓧鑺備負(fù)鍗曚綅錛夈傚彲浠ラ璁★紝鍦ㄥ皢鏉ョ殑64浣嶇郴緇熶腑鎸囬拡鍙橀噺鐨剆izeof緇撴灉涓?銆?

*********************************************************

char* pc = "abc";
int* pi;
string* ps;
char** ppc = &pc;
void (*pf)();聽// 鍑芥暟鎸囬拡
sizeof( pc ); // 緇撴灉涓?
sizeof( pi ); // 緇撴灉涓?
sizeof( ps ); // 緇撴灉涓?
sizeof( ppc );// 緇撴灉涓?
sizeof( pf ); // 緇撴灉涓?

*********************************************************

鎸囬拡鍙橀噺鐨剆izeof鍊間笌鎸囬拡鎵鎸囩殑瀵硅薄娌℃湁浠諱綍鍏崇郴錛屾鏄敱浜庢墍鏈夌殑鎸囬拡鍙橀噺鎵鍗犲唴瀛樺ぇ灝忕浉絳夛紝鎵浠FC娑堟伅澶勭悊鍑芥暟浣跨敤涓や釜鍙傛暟WPARAM銆丩PARAM灝辮兘浼犻掑悇縐嶅鏉傜殑娑堟伅緇撴瀯錛堜嬌鐢ㄦ寚鍚戠粨鏋勪綋鐨勬寚閽堬級銆?


6. 鏁扮粍鐨剆izeof

鏁扮粍鐨剆izeof鍊肩瓑浜庢暟緇勬墍鍗犵敤鐨勫唴瀛樺瓧鑺傛暟錛屽錛?

char a1[] = "abc";
int a2[3];
sizeof( a1 ); // 緇撴灉涓?錛屽瓧絎?鏈熬榪樺瓨鍦ㄤ竴涓狽ULL緇堟絎?br />sizeof( a2 ); // 緇撴灉涓?*4=12錛堜緷璧栦簬int錛?

涓浜涙湅鍙嬪垰寮濮嬫椂鎶妔izeof褰撲綔浜嗘眰鏁扮粍鍏冪礌鐨勪釜鏁幫紝鐜板湪錛屼綘搴旇鐭ラ亾榪欐槸涓嶅鐨勩傞偅涔堝簲璇ユ庝箞姹傛暟緇勫厓绱犵殑涓暟鍛紵

Easy錛岄氬父鏈変笅闈袱縐嶅啓娉曪細(xì)

int c1 = sizeof( a1 ) / sizeof( char );聽聽聽 // 鎬婚暱搴?鍗曚釜鍏冪礌鐨勯暱搴?br />int c2 = sizeof( a1 ) / sizeof( a1[0]); 聽聽 // 鎬婚暱搴?絎竴涓厓绱犵殑闀垮害


鍐欏埌榪欓噷錛屾彁涓闂紝涓嬮潰鐨刢3錛宑4鍊煎簲璇ユ槸澶氬皯鍛紵

*********************************************************

void foo3(char a3[3])
{
聽聽聽聽int c3 = sizeof( a3 ); // c3 ==
}
void foo4(char a4[])
{
聽聽聽聽int c4 = sizeof( a4 ); // c4 ==
}

*********************************************************

涔熻褰撲綘璇曞浘鍥炵瓟c4鐨勫兼椂宸茬粡鎰忚瘑鍒癱3絳旈敊浜嗭紝鏄殑錛宑3!=3銆?

榪欓噷鍑芥暟鍙傛暟a3宸蹭笉鍐嶆槸鏁扮粍綾誨瀷錛岃屾槸铚曞彉鎴愭寚閽堛?/font>鐩稿綋浜巆har* a3錛屼負(fù)浠涔堜粩緇嗘兂鎯沖氨涓嶉毦鏄庣櫧銆?

鎴戜滑璋冪敤鍑芥暟foo1鏃訛紝紼嬪簭浼?xì)鍦ㄦ爤涓婂垎閰嶄竴涓ぇ灝忎負(fù)3鐨勬暟緇勫悧錛熶笉浼?xì)锛?

鏁扮粍鏄滀紶鍧鈥濈殑錛岃皟鐢ㄨ呭彧闇灝嗗疄鍙傜殑鍦板潃浼犻掕繃鍘伙紝鎵浠3鑷劧涓烘寚閽堢被鍨嬶紙char*錛夛紝c3鐨勫間篃灝變負(fù)4銆?


7.string鐨剆izeof
涓涓猻tring鐨勫ぇ灝忎笌瀹冩墍鎸囧悜鐨勫瓧絎︿覆鐨勯暱搴︽棤鍏?/font>銆?br />
*********************************************************
string st1("blog.sina.com.cn");
string st2("majianan");
string st3;
string *ps = &st1;
cout << "st1: " << sizeof(st1) << endl;
cout << "st2: " << sizeof(st2) << endl;
cout << "st3: " << sizeof(st3) << endl;
cout << "ps: " << sizeof(ps) << endl;
cout << "*ps: " << sizeof(*ps) << endl;
*********************************************************

杈撳嚭緇撴灉涓猴細(xì)
st1錛?28
st2錛?28
st3錛?28
ps錛?4
*ps錛?28
*********************************************************
瀵逛簬涓嶅悓鐨凷TL錛孲tring綾葷殑緇撴瀯瀹氫箟浼?xì)鏈夋墍涓嶅悓
鎵浠ヤ笉鍚岀殑宸ュ叿錛屼緥濡俈C++錛屽拰.NET錛岀粨鏋滀細(xì)鏈夋墍涓嶅悓錛?br />鍦╒C++6.0涓紙鎴戠殑鏈哄櫒錛夌粨鏋滄槸16
鍦?NET2003涓粨鏋滄槸28
浣嗘槸瀵逛簬鍚屼竴涓紪璇戝櫒錛岄偅涔堝畠鐨勭粨鏋滈兘鏄竴瀹氱殑


8.寮曠敤鐨剆izeof

sizeof鎿嶄綔絎﹀簲鐢ㄥ湪寮曠敤綾誨瀷涓婄殑鏃跺欙紝榪斿洖鐨勬槸鍖呭惈琚紩鐢ㄥ璞℃墍闇鐨勫唴瀛橀暱搴︼紙鍗寵寮曠敤瀵硅薄鐨勫ぇ灝忥級

*********************************************************
cout << "short:\t" << sizeof(short) << endl;
cout << "short*:\t" << sizeof(short*) << endl;
cout << "short&:\t" << sizeof(short&) << endl;
cout << "short[4]:\t" << sizeof(short[4]) << endl;
cout << "int&:\t" << sizeof(int&) << endl;
*********************************************************

杈撳嚭緇撴灉涓猴細(xì)
short錛?2
short*錛?4
short&錛?2
short[4]錛?8
int&錛?4


9. 緇撴瀯浣撶殑sizeof

榪欐槸鍒濆鑰呴棶寰楁渶澶氱殑涓涓棶棰橈紝鎵浠ヨ繖閲屾湁蹇呰澶氳垂鐐圭瑪澧ㄣ傝鎴戜滑鍏堢湅涓涓粨鏋勪綋錛?

struct S1
{
聽聽聽 char c;
聽聽聽 int i;
};

闂畇izeof(s1)絳変簬澶氬皯錛?

鑱槑鐨勪綘寮濮嬫濊冧簡錛宑har鍗?涓瓧鑺傦紝int鍗?涓瓧鑺傦紝閭d箞鍔犺搗鏉ュ氨搴旇鏄?銆?

鏄繖鏍峰悧錛?

浣犲湪浣犳満鍣ㄤ笂璇曡繃浜嗗悧錛?

涔熻浣犳槸瀵圭殑錛屼絾寰堝彲鑳戒綘鏄敊鐨勶紒

VC6涓寜榛樿璁劇疆寰楀埌鐨勭粨鏋滀負(fù)8銆?br />
聽聽聽 Why錛熶負(fù)浠涔堝彈浼ょ殑鎬繪槸鎴戯紵

璇蜂笉瑕佹伯涓э紝鎴戜滑鏉ュソ濂界悽紓ㄤ竴涓媠izeof鐨勫畾涔?鈥斺?sizeof鐨勭粨鏋滅瓑浜庡璞℃垨鑰呯被鍨嬫墍鍗犵殑鍐呭瓨瀛楄妭鏁般傚ソ鍚э紝閭e氨璁╂垜浠潵鐪嬬湅S1鐨勫唴瀛樺垎閰嶆儏鍐碉細(xì)

S1 s1 = { 'a', 0xFFFFFFFF };

瀹氫箟涓婇潰鐨勫彉閲忓悗錛屽姞涓婃柇鐐癸紝榪愯紼嬪簭錛岃瀵焥1鎵鍦ㄧ殑鍐呭瓨錛屼綘鍙戠幇浜嗕粈涔堬紵

浠ユ垜鐨刅C6.0涓轟緥錛宻1鐨勫湴鍧涓?x0012FF78錛屽叾鏁版嵁鍐呭濡備笅錛?

0012FF78: 61 CC CC CC FF FF FF FF

鍙戠幇浜嗕粈涔堬紵鎬庝箞涓棿澶規(guī)潅浜?涓瓧鑺傜殑CC錛?

鐪嬬湅MSDN涓婄殑璇存槑錛?

When applied to a structure type or variable, sizeof returns the actual size, which may include padding bytes inserted for alignment.

鍘熸潵濡傛錛岃繖灝辨槸浼犺涓殑瀛楄妭瀵歸綈鍟婏紒涓涓噸瑕佺殑璇濋鍑虹幇浜嗐?

涓轟粈涔堥渶瑕佸瓧鑺傚榻愶紵

璁$畻鏈虹粍鎴愬師鐞嗘暀瀵兼垜浠紝榪欐牱鏈夊姪浜庡姞蹇綆楁満鐨勫彇鏁伴熷害錛屽惁鍒欏氨寰楀鑺辨寚浠ゅ懆鏈熶簡銆?

涓烘錛岀紪璇戝櫒榛樿浼?xì)瀵咕l撴瀯浣撹繘琛屽鐞嗭紙瀹為檯涓婂叾瀹冨湴鏂圭殑鏁版嵁鍙橀噺涔熸槸濡傛錛夛紝璁╁搴︿負(fù)2鐨勫熀鏈暟鎹被鍨嬶紙short絳夛級閮戒綅浜庤兘琚?鏁撮櫎鐨勫湴鍧涓婏紝璁╁搴︿負(fù)4鐨勫熀鏈暟鎹被鍨嬶紙int絳夛級閮戒綅浜庤兘琚?鏁撮櫎鐨勫湴鍧涓娿?/font>浠ユ綾繪帹錛岃繖鏍鳳紝涓や釜鏁頒腑闂村氨鍙兘闇瑕佸姞鍏ュ~鍏呭瓧鑺傦紝鎵浠ユ暣涓粨鏋勪綋鐨剆izeof鍊煎氨澧為暱浜嗐?

璁╂垜浠氦鎹竴涓婼1涓璫har涓巌nt鐨勪綅緗細(xì)

struct S2
{
聽聽聽聽int i;
聽聽聽聽char c;
};

鐪嬬湅sizeof(S2)鐨勭粨鏋滀負(fù)澶氬皯錛熸庝箞榪樻槸8銆?

鍐嶇湅鐪嬪唴瀛橈紝鍘熸潵鎴愬憳c鍚庨潰浠嶇劧鏈?涓~鍏呭瓧鑺傘?

榪欏張鏄負(fù)浠涔堝晩錛熷埆鐫鎬ワ紝涓嬮潰鎬葷粨瑙勫緥銆?

聽聽聽 瀛楄妭瀵歸綈鐨勭粏鑺傚拰緙栬瘧鍣ㄥ疄鐜扮浉鍏籌紝浣嗕竴鑸岃█錛屾弧瓚充笁涓噯鍒欙細(xì)
聽聽聽 1) 緇撴瀯浣撳彉閲忕殑棣栧湴鍧鑳藉琚叾鏈瀹藉熀鏈被鍨嬫垚鍛樼殑澶у皬鎵鏁撮櫎錛?br />聽聽聽 2) 緇撴瀯浣撴瘡涓垚鍛樼浉瀵逛簬緇撴瀯浣撻鍦板潃鐨勫亸縐婚噺錛坥ffset錛夐兘鏄垚鍛樺ぇ灝忕殑鏁存暟鍊嶏紝濡傛湁闇瑕佺紪璇戝櫒浼?xì)鍦ㄦ垚鍛樹箣闂村姞涓婂~鍏呭瓧鑺傚Q坕nternal adding錛夛紱
聽聽聽 3) 緇撴瀯浣撶殑鎬誨ぇ灝忎負(fù)緇撴瀯浣撴渶瀹藉熀鏈被鍨嬫垚鍛樺ぇ灝忕殑鏁存暟鍊嶏紝濡傛湁闇瑕佺紪璇戝櫒浼?xì)鍦ㄦ渶鏈竴涓垚鍛樹箣鍚庡姞涓婂~鍏呭瓧鑺傦紙trailing padding錛夈?br />
聽聽聽 瀵逛簬涓婇潰鐨勫噯鍒欙紝鏈夊嚑鐐歸渶瑕佽鏄庯細(xì)
1)聽鍓嶉潰涓嶆槸璇寸粨鏋勪綋鎴愬憳鐨勫湴鍧鏄叾澶у皬鐨勬暣鏁板嶏紝鎬庝箞鍙堣鍒板亸縐婚噺浜嗗憿錛?

鍥犱負(fù)鏈変簡絎?鐐瑰瓨鍦紝鎵浠ユ垜浠氨鍙互鍙冭檻鎴愬憳鐨勫亸縐婚噺錛岃繖鏍鋒濊冭搗鏉ョ畝鍗曘傛兂鎯充負(fù)浠涔堛?

緇撴瀯浣撴煇涓垚鍛樼浉瀵逛簬緇撴瀯浣撻鍦板潃鐨勫亸縐婚噺鍙互閫氳繃瀹弌ffsetof()鏉ヨ幏寰楋紝榪欎釜瀹忎篃鍦╯tddef.h涓畾涔夛紝濡備笅錛?

#define offsetof(s,m) (size_t)&(((s *)0)->m)

渚嬪錛屾兂瑕佽幏寰桽2涓璫鐨勫亸縐婚噺錛屾柟娉曚負(fù)

size_t pos = offsetof(S2, c);// pos絳変簬4


2) 鍩烘湰綾誨瀷鏄寚鍓嶉潰鎻愬埌鐨勫儚char銆乻hort銆乮nt銆乫loat銆乨ouble榪欐牱鐨勫唴緗暟鎹被鍨嬨傝繖閲屾墍璇寸殑鈥滄暟鎹搴︹濆氨鏄寚鍏秙izeof鐨勫ぇ灝忋傜敱浜庣粨鏋勪綋鐨勬垚鍛樺彲浠ユ槸澶嶅悎綾誨瀷錛屾瘮濡傚彟澶栦竴涓粨鏋勪綋錛屾墍浠ュ湪瀵繪壘鏈瀹藉熀鏈被鍨嬫垚鍛樻椂錛屽簲褰撳寘鎷鍚堢被鍨嬫垚鍛樼殑瀛愭垚鍛橈紝鑰屼笉鏄妸澶嶅悎鎴愬憳鐪嬫垚鏄竴涓暣浣撱備絾鍦ㄧ‘瀹氬鍚堢被鍨嬫垚鍛樼殑鍋忕Щ浣嶇疆鏃跺垯鏄皢澶嶅悎綾誨瀷浣滀負(fù)鏁翠綋鐪嬪緟銆?

榪欓噷鍙欒堪璧鋒潵鏈夌偣鎷楀彛錛屾濊冭搗鏉ヤ篃鏈夌偣鎸犲ご錛岃繕鏄鎴戜滑鐪嬬湅渚嬪瓙鍚э紙鍏蜂綋鏁板間粛浠C6涓轟緥錛屼互鍚庝笉鍐嶈鏄庯級錛?

struct S3
{
聽聽聽聽char c1;
聽聽聽聽S1 s;
聽聽聽聽char c2;
};

S1鐨勬渶瀹界畝鍗曟垚鍛樼殑綾誨瀷涓篿nt錛孲3鍦ㄨ冭檻鏈瀹界畝鍗曠被鍨嬫垚鍛樻椂鏄皢S1鈥滄墦鏁b濈湅鐨勶紝鎵浠3鐨勬渶瀹界畝鍗曠被鍨嬩負(fù)int銆傝繖鏍鳳紝閫氳繃S3瀹氫箟鐨勫彉閲忥紝鍏跺瓨鍌ㄧ┖闂撮鍦板潃闇瑕佽4鏁撮櫎錛屾暣涓猻izeof(S3)鐨勫間篃搴旇琚?鏁撮櫎銆?

c1鐨勫亸縐婚噺涓?錛宻鐨勫亸縐婚噺鍛紵榪欐椂s鏄竴涓暣浣擄紝瀹冧綔涓虹粨鏋勪綋鍙橀噺涔熸弧瓚沖墠闈笁涓噯鍒欙紝鎵浠ュ叾澶у皬涓?錛屽亸縐婚噺涓?錛宑1涓巗涔嬮棿渚塊渶瑕?涓~鍏呭瓧鑺傦紝鑰宑2涓巗涔嬮棿灝變笉闇瑕佷簡錛屾墍浠2鐨勫亸縐婚噺涓?2錛岀畻涓奵2鐨勫ぇ灝忎負(fù)13錛?3鏄笉鑳借4鏁撮櫎鐨勶紝榪欐牱鏈熬榪樺緱琛ヤ笂3涓~鍏呭瓧鑺傘傛渶鍚庡緱鍒皊izeof(S3)鐨勫間負(fù)16銆?


聽聽聽 閫氳繃涓婇潰鐨勫彊榪幫紝鎴戜滑鍙互寰楀埌涓涓叕寮忥細(xì)
聽聽聽 緇撴瀯浣撶殑澶у皬絳変簬鏈鍚庝竴涓垚鍛樼殑鍋忕Щ閲忓姞涓婂叾澶у皬鍐嶅姞涓婃湯灝劇殑濉厖瀛楄妭鏁扮洰錛?/strong>鍗籌細(xì)

sizeof( struct ) = offsetof( last item ) + sizeof( last item ) + sizeof( trailing padding )

10.綾葷殑sizeof
綾葷殑sizeof鍊肩瓑浜庣被涓垚鍛樺彉閲忔墍鍗犵敤鐨勫唴瀛樺瓧鑺傛暟銆傚錛?br />
****************************************************************
class A
{
聽public:
聽聽聽聽 int b;
聽聽聽聽 float c;
聽聽聽聽 char d;
};

int main(void)
{
聽 A object;
聽 cout << "sizeof(object) is " << sizeof(object) << endl;
聽 return 0 ;
}
***************************************************************
杈撳嚭緇撴灉涓?2錛堟垜鐨勬満鍣ㄤ笂sizeof(float)鍊間負(fù)4錛屽瓧鑺傚鍏跺墠闈㈠凡緇忚榪囷級銆?
涓嶈繃闇瑕佹敞鎰忕殑鏄紝濡傛灉綾諱腑瀛樺湪闈欐佹垚鍛樺彉閲忥紝緇撴灉鍙堜細(xì)鏄粈涔堟牱瀛愬憿錛?
***************************************************************

class A
{
聽public:
聽聽聽聽 static int a;
聽聽聽聽 int b;
聽聽聽聽 float c;
聽聽聽聽 char d;
};

int main()
{
聽 A object;
聽聽cout << "sizeof(object) is " << sizeof(object) << endl;
聽 return 0 ;
}
**************************************************************
16錛熶笉瀵廣傜粨鏋滀粛鐒舵槸12.

鍥犱負(fù)鍦ㄧ▼搴忕紪璇戞湡闂達(dá)紝灝卞凡緇忎負(fù)static鍙橀噺鍦ㄩ潤鎬佸瓨鍌ㄥ尯鍩熷垎閰嶄簡鍐呭瓨絀洪棿錛屽茍涓旇繖鍧楀唴瀛樺湪紼嬪簭鐨勬暣涓繍琛屾湡闂撮兘瀛樺湪銆?

鑰屾瘡嬈″0鏄庝簡綾籄鐨勪竴涓璞$殑鏃跺欙紝涓鴻瀵硅薄鍦ㄥ爢涓婏紝鏍規(guī)嵁瀵硅薄鐨勫ぇ灝忓垎閰嶅唴瀛樸?
濡傛灉綾籄涓寘鍚垚鍛樺嚱鏁幫紝閭d箞鍙堜細(xì)鏄庢牱鐨勬儏鍐靛憿錛熺湅涓嬮潰鐨勪緥瀛?
*************************************************************

class A
{
聽public:
聽聽聽聽 static int a;
聽聽聽聽 int b;
聽聽聽聽 float c;
聽聽聽聽 char d;
聽聽聽聽 int add(int x,int y)
聽聽聽聽 {
聽聽聽聽聽聽 return x+y;
聽聽聽聽 }
};

int main()
{
聽聽A object;
聽 cout << "sizeof(object) is " << sizeof(object) << endl;
聽 b = object.add(3,4);
聽 cout << "sizeof(object) is " << sizeof(object) << endl;
聽 return 0 ;
}
***************************************************************
緇撴灉浠嶄負(fù)12銆?font color="#0000ff">
鍥犱負(fù)鍙湁闈為潤鎬佺被鎴愬憳鍙橀噺鍦ㄦ柊鐢熸垚涓涓猳bject鐨勬椂鍊欐墠闇瑕佽嚜宸辯殑鍓湰銆?
鎵浠ユ瘡涓潪闈欐佹垚鍛樺彉閲忓湪鐢熸垚鏂皁bject闇瑕佸唴瀛橈紝鑰宖unction鏄笉闇瑕佺殑銆?
娉細(xì)C++涓殑澶氭佸拰铏氱戶鎵夸篃鏄潪甯擱噸瑕佺殑涓滆タ錛屼笉榪囨瘮杈冨鏉傦紝緙栬瘧鍣ㄤ笉鍚岋紝緇嗚妭涔熸湁鎵涓嶅悓銆傦紙浠ュ悗鎱㈡參鐮旂┒錛屽搱鍝堬級


]]>
鐢熸椿鎰熸?zhèn)?/title><link>http://m.shnenglu.com/majianan/archive/2006/07/17/10172.html</link><dc:creator>椹槈妤?/dc:creator><author>椹槈妤?/author><pubDate>Mon, 17 Jul 2006 14:14:00 GMT</pubDate><guid>http://m.shnenglu.com/majianan/archive/2006/07/17/10172.html</guid><wfw:comment>http://m.shnenglu.com/majianan/comments/10172.html</wfw:comment><comments>http://m.shnenglu.com/majianan/archive/2006/07/17/10172.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/majianan/comments/commentRss/10172.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/majianan/services/trackbacks/10172.html</trackback:ping><description><![CDATA[ <blockquote dir="ltr" style="MARGIN-RIGHT: 0px"> <blockquote dir="ltr" style="MARGIN-RIGHT: 0px"> <p align="left"> <font face="Verdana" size="2">杈涜緵鑻﹁嫤,榪囪垝鏈嶆棩瀛?<br />鑸掕垝鏈嶆湇,榪囪緵鑻︽棩瀛?</font> </p> </blockquote> </blockquote> <img src ="http://m.shnenglu.com/majianan/aggbug/10172.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/majianan/" target="_blank">椹槈妤?/a> 2006-07-17 22:14 <a href="http://m.shnenglu.com/majianan/archive/2006/07/17/10172.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍘氶亾http://m.shnenglu.com/majianan/archive/2006/07/17/10147.html椹槈妤?/dc:creator>椹槈妤?/author>Mon, 17 Jul 2006 01:13:00 GMThttp://m.shnenglu.com/majianan/archive/2006/07/17/10147.htmlhttp://m.shnenglu.com/majianan/comments/10147.htmlhttp://m.shnenglu.com/majianan/archive/2006/07/17/10147.html#Feedback0http://m.shnenglu.com/majianan/comments/commentRss/10147.htmlhttp://m.shnenglu.com/majianan/services/trackbacks/10147.html
  • 閿茶瘍澶錛氭湁鏁欏吇涓嶆槸鍚冮キ涓嶆磼姹わ紝鏄埆浜烘磼姹ょ殑鏃跺欏埆鍘葷湅浠栥?
  • 鏈変竴涓浉浼肩殑緹庡浗淇楄璇達(dá)細(xì)鐘繃閿欎笉鏄█濂囩殑浜嬶紝紼濂囩殑鏄埆浜虹姱閿欑殑鏃跺欏埆鍘昏絎戜粬銆?
  • 鈥滃埆鍘葷湅浠栤濆拰鈥滃埆鍘昏絎戜粬鈥濇槸涓縐嶅仛浜洪鑼冿紝鍦ㄤ腑鍥藉彨鍋氣滃帤閬撯濄?
  • 鍘氶亾涓嶆槸鏂規(guī)硶錛岃櫧鐒朵篃鍙互褰撴柟娉曡緇冭嚜宸便傚畠鏄漢鐨勬湰鎬с傚帤閬撲箣浜庝漢錛屾槸鍦ㄤ粈涔堜篃娌″仛涔嬩腑鍋氫簡寰堝ぇ鐨勪簨鎯咃紝閿茶瘍澶О涔嬩負(fù)鈥滄暀鍏燴濄?
  • 濡傛灉緹庡痙鍒嗕負(fù)鏄炬т笌闅愭э紝鍘氶亾鍏鋒湁闅愭х壒寰併?
  • 鍘氶亾涓嶆槸鎰氶挐錛屽緢澶氭椂鍊欏儚鎰氶挐銆傛墍璋撯滆吹浜鴻瘽璇繜鈥濓紝榪熷湪瀵逛竴涓漢涓浠朵簨鐨勮瘎浠鋒矇鐫錛屽悰瀛愯浜庤█銆傚挨鍏跺湪鍒漢钂欑緸涔嬮檯錛屸滆繜鈥濈殑璇勪環(huán)淇濆叏浜嗗埆浜虹殑闈㈠瓙銆傜湡姝g殑鎰氶挐鏄笉鏄庢洸鐩達(dá)紝鑰屽帤閬撲箖鏄槑鐧借屽張蹇冨瓨鍠勮壇錛屼互瀹芥緇欏埆浜轟竴涓ˉ鏁戠殑鏈轟細(xì)銆?
  • 鍘氶亾鑰呰兘娌夊緱浣忔皵銆傚帤閬撲笉涓瀹氬緱鍒板帤閬撶殑鍥炴姤錛屼絾鍘氶亾涔嬩負(fù)鍘氶亾灝卞湪涓嶅浘鍥炴姤錛岄殢浠栧幓銆傛ュ姛榪戝埄鐨勪漢榪滅鍘氶亾銆?
  • 鍦ㄤ漢闄呬氦寰涓婏紝鍘氶亾鏄熀鐭熾傚畠騫墮潪涓鏃朵竴浜嬬殑鐘鍒╋紝鏄埆浜虹粡榪囧洖鍛崇殑璧炶祻銆傚涓栨湰鏃犳柟娉曪紝涔熸繪湁涓浜涢珮鏄庤秴瓚婃柟娉曪紝閭e氨鏄搧鏍箋傚搧鏍煎彲浠ュ彂鍏夛紝鏂規(guī)硶鍙槸宸ュ叿銆傚帤閬撴槸緇忓緱璧瘋冮獙鐨勯珮灝氬搧鏍箋?
  • 鍘氶亾鏄啺姘存繁灞傜殑鍔叉祦錛屽畠鏈夊姏閲忥紝浣嗚〃闈笉璧鋒嘗嫻?
  • 鍘氶亾鐨勪漢鏈変富寮犮傚拰紼娉ワ紝鍋氬ソ浜猴紝鏄箹宸т箣琛ㄧ幇錛屼笌鈥滃帤鈥濇棤鍏熾傛棤鍑嗗垯錛屾棤鐣岄檺錛屾槸緋婃秱涔嬭〃鐜幫紝涓庘滈亾鈥濇棤鍏熾?/font>
  • 鍘氶亾鐨勪漢涔熸湁鍙兘鍊斿己錛屼篃鍙兘涓嶅叆淇楁祦錛屽畞鍙啫錛岃屼笉宸с?
  • 鍘氾紝鏄暱楹﹀瓙鐨勫湡澹や箣鍘氾紝澧欎綋鎸¢涔嬪帤銆傚帤寰峰皵鍚庤澆鐗╋紝鍋氫漢杈懼埌榪欐牱鐨勫鐣岋紝宸茬劧寰楅亾銆?


  • ]]>
    青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              国产精品久久久久久久久久久久久久| 欧美精品九九| 一本高清dvd不卡在线观看| 亚洲精品护士| 一区二区三区回区在观看免费视频| 精品成人乱色一区二区| 久久婷婷国产综合尤物精品| 美女国产精品| 中文精品一区二区三区 | 理论片一区二区在线| 精品999成人| 一区二区三区在线视频免费观看| 亚洲成人影音| 美女任你摸久久| 亚洲视频导航| 欧美精品一区二区三区在线播放| 亚洲天堂av电影| 免费观看在线综合| 欧美成人午夜激情在线| 亚洲综合久久久久| 欧美激情中文字幕乱码免费| 亚洲黑丝一区二区| 最近中文字幕日韩精品| 亚洲视频免费观看| 久久综合伊人77777尤物| 国产精品毛片在线看| 国产精品久久久久久久午夜| 欧美在线日韩| 欧美理论电影在线观看| 久久国产精品99国产精| 在线成人激情视频| 欧美成人嫩草网站| 一区二区三区www| 午夜久久久久久| 国产精品99久久久久久久vr| 国产精品盗摄久久久| 一本综合精品| 亚洲精品久久久久久久久久久| 久久国产色av| 欧美日韩免费高清| 久热爱精品视频线路一| 午夜精品美女自拍福到在线 | 欧美一区二区成人| 精品成人久久| 欧美久久久久久久| 亚洲国产精选| 亚洲欧美国产视频| 久久免费观看视频| 久久久久国产精品www| 亚洲尤物视频在线| 亚洲视频一区二区免费在线观看| 久久不射电影网| 国产亚洲欧美一级| 中文有码久久| 欧美成人免费一级人片100| 久久九九国产精品| 免费不卡在线观看av| 欧美自拍偷拍| 亚洲在线成人精品| 欧美精品粉嫩高潮一区二区| 亚洲欧美日韩在线不卡| 美女999久久久精品视频| 免费久久精品视频| 免费日韩视频| 久久米奇亚洲| 亚洲精品国偷自产在线99热| 欧美 日韩 国产在线| 美女999久久久精品视频| 久久偷看各类wc女厕嘘嘘偷窃| 久久久91精品国产一区二区三区| 99re8这里有精品热视频免费| 日韩视频免费观看高清完整版| 欧美伊人久久久久久久久影院| 久久久欧美精品sm网站| 久久国产手机看片| 久久亚洲综合色| 免费成人黄色| 亚洲欧美资源在线| 亚洲视频在线观看一区| 午夜亚洲精品| 欧美女同在线视频| 久久精品理论片| 另类激情亚洲| 亚洲视频axxx| 国产精品有限公司| 国产精品一区二区在线| 亚洲一区二区三区免费在线观看| 欧美影院一区| 亚洲国产91色在线| 在线视频中文亚洲| 欧美mv日韩mv亚洲| 国语精品一区| 亚洲精选91| 亚洲国产精品嫩草影院| 欧美一区二区三区四区高清| 永久555www成人免费| 欧美成人一区在线| 一区二区国产日产| 国产精品亚洲综合一区在线观看| 亚洲经典三级| 欧美xx69| 国产日韩欧美日韩| 欧美有码在线视频| 国产精品午夜av在线| 一级日韩一区在线观看| 男女精品视频| 欧美91视频| 亚洲日本中文字幕区 | 久久国产精品亚洲77777| 欧美 日韩 国产一区二区在线视频| 欧美视频在线不卡| 久久久久综合| 裸体女人亚洲精品一区| 国产一区二区三区黄视频| 久久免费视频网| 亚洲视频一二区| 国产女主播在线一区二区| 蘑菇福利视频一区播放| 欧美激情精品久久久久久久变态 | 久久影视精品| 一区二区三区鲁丝不卡| 国产一区二区三区丝袜| 久久久久99| 一区在线免费| 欧美一级视频一区二区| 香蕉视频成人在线观看| 欧美一区二区三区久久精品茉莉花| 亚洲国产欧洲综合997久久| 亚洲欧美日韩第一区| 一本色道久久综合精品竹菊| 久久天天狠狠| 亚洲一区二区在线看| 一本一本久久| 久久日韩粉嫩一区二区三区| 久久婷婷激情| 在线亚洲欧美专区二区| 久久久久久91香蕉国产| 宅男精品视频| 亚洲一区视频在线观看视频| 国产免费亚洲高清| 亚洲国产另类 国产精品国产免费| 国产日韩欧美中文| 亚洲欧美国产毛片在线| 这里只有精品视频| 欧美日韩精品一区二区三区| 亚洲精品国精品久久99热一| 亚洲国产精品一区二区第四页av| 欧美一级成年大片在线观看| 欧美一区二区国产| 国产欧美日本一区视频| 午夜精品一区二区三区四区| 久久久久高清| 揄拍成人国产精品视频| 久久综合久久久久88| 亚洲国产精品一区二区第一页 | 国产精品久久久久久久久久久久 | 在线亚洲精品| 亚洲欧美精品suv| 国产伦精品一区二区三| 性娇小13――14欧美| 麻豆91精品| 日韩视频免费| 欧美性感一类影片在线播放| 午夜精品电影| 欧美国产日产韩国视频| 夜夜嗨av色一区二区不卡| 国产精品成人v| 久久人人97超碰国产公开结果| 亚洲国产日韩欧美| 99精品免费| 国产一区av在线| 欧美久久久久免费| 欧美亚洲午夜视频在线观看| 亚洲第一伊人| 欧美一区二区三区免费看| 亚洲国产精品激情在线观看| 欧美日韩一二三四五区| 久久精品日韩欧美| 亚洲片区在线| 美女国内精品自产拍在线播放| 一区二区三区四区五区在线| 国产主播在线一区| 国产精品yjizz| 欧美大胆a视频| 久久精品国产综合| 99视频国产精品免费观看| 老司机成人在线视频| 亚洲欧美久久| 99国产精品| 在线观看视频一区二区欧美日韩| 国产精品国产三级国产普通话三级| 久久久噜噜噜久久狠狠50岁| 99热精品在线| 亚洲国产精品一区二区尤物区 | 亚洲福利电影| 六十路精品视频| 久久成人国产精品| 亚洲午夜激情网站| 亚洲精品小视频| 亚洲国产一区在线|