锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美一区视频,中文日韩欧美,国内精品久久久久伊人av http://m.shnenglu.com/kb/category/53.html鍐?鏄矇鐫$潃鐨勬按...... zh-cn Tue, 20 May 2008 03:17:58 GMT Tue, 20 May 2008 03:17:58 GMT 60 錛昏璁猴冀鍏充簬娉ㄩ噴鐨勪功鍐欎綅緗?/title> http://m.shnenglu.com/kb/archive/2006/04/21/6029.html鍙啺 鍙啺 Fri, 21 Apr 2006 07:20:00 GMT http://m.shnenglu.com/kb/archive/2006/04/21/6029.html http://m.shnenglu.com/kb/comments/6029.html http://m.shnenglu.com/kb/archive/2006/04/21/6029.html#Feedback 1 http://m.shnenglu.com/kb/comments/commentRss/6029.html http://m.shnenglu.com/kb/services/trackbacks/6029.html
聽聽聽 聽聽聽 鍦–/C++涓?鍙橀噺鍙婂嚱鏁扮殑瀹氫箟涓鑸兘鏄湪.h/.hpp鏂囦歡涓鏄庡師鍨?鑰屽湪瀵瑰簲鐨?c/.cpp鏂囦歡涓潵榪涜瀹炵幇. 聽聽聽 聽聽聽 榪欑鎯呭喌涓?澶存枃浠舵渶緇堟槸緇欑敤鎴蜂嬌鐢ㄧ殑,浠ヤ究璁╃敤鎴蜂簡瑙f湁鍝簺鎺ュ彛鍙互浣跨敤;鑰?c/.cpp鏂囦歡鏄紑鍙戣呬嬌鐢ㄧ殑,浠ヤ究璁╁叾瀹冨紑鍙戜漢鍛樹簡瑙e畠鐨勫疄鐜伴昏緫.鍥犳榪欎袱涓枃浠朵腑鑲畾閮芥槸闇瑕佽緇嗙殑娉ㄩ噴鐨?鍦?h/.hpp鏂囦歡涓?涓昏璇存槑鍑芥暟鐨勪嬌鐢ㄦ柟娉?濡傚弬鏁扮殑鎰忎箟,榪斿洖鍊肩殑瀹氫箟絳?鑰?c/.cpp鏂囦歡涓?涓昏璇存槑鍑芥暟鐨勫疄鐜伴昏緫絳? 聽聽聽 聽聽聽 涓嶇煡閬撲笂闈㈢殑鍋氭硶鏄惁鍚堥?璇峰ぇ瀹舵寚姝? 聽聽聽 聽聽聽 鍙﹀,澶у鍦ㄥ疄闄呯紪紼嬭繃紼嬩腑鏄浣曞仛鐨? 聽聽聽 聽聽聽 浜嬪疄涓?鎴戣嚜宸卞湪瀹炶返榪囩▼涓嵈鎬繪槸鍋忓悜浜庢妸娉ㄩ噴鍐欏埌涓涓湴鏂?鎴栬呮敞閲婂師鍨?鎴栬呮敞閲婂疄鐜?鍓嶈呮瘮杈冨),鐢氳嚦騫茶剢涓よ竟閮藉啓涓鏍風殑(浣嗚繖鏍風殑璇濆唴瀹圭粡甯鎬細涓嶄竴鏍?.榪欐牱鐨勬柟娉曡鎴戝湪緙栫▼榪囩▼涓悆灝戒簡鑻﹀ご鍝?
]]> C++緙栫爜瑙勮寖 http://m.shnenglu.com/kb/archive/2005/11/22/1240.html鍙啺 鍙啺 Tue, 22 Nov 2005 05:46:00 GMT http://m.shnenglu.com/kb/archive/2005/11/22/1240.html http://m.shnenglu.com/kb/comments/1240.html http://m.shnenglu.com/kb/archive/2005/11/22/1240.html#Feedback 7 http://m.shnenglu.com/kb/comments/commentRss/1240.html http://m.shnenglu.com/kb/services/trackbacks/1240.html //鑷繁緲昏瘧鐨勶紝鏈兂鏁寸悊涓涓嬶紝浣嗕竴鐩存病鏃墮棿錛岀幇鍦ㄥ氨榪欐牱鏀句笂鏉ュ惂錛屾湁閿欏氨鎵癸紝鍒姘旓紝鍛靛懙銆?/font>
C++緙栫爜瑙勮寖
涓銆佺粍緇囦笌絳栫暐闂
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.----Gerald Weinberg
鍦–鍜孋++鐨勪富瑕佷紶緇熶腑,鎴戜滑璁や負鏄竴縐嶉浂鍩虹鐨勪範鎯?絎?鏉℃槸涓涓牴鏈殑鎸囩ず,瀹冩兜鐩栦簡緙栫爜瑙勮寖涓垜浠涓烘槸鏈鍩烘湰鐨勫緩璁?
鍦ㄨ繖浠嬬粛鎬х殑涓鑺傜殑鍏朵綑閮ㄥ垎涓?鎴戜滑綺懼績閫夊彇浜嗗叾涓殑灝戦噺闂鍔犱互闃愯堪,榪欎簺澶у涓庣紪鐮佹湰韜棤鐩存帴鍏崇郴,浣嗗嵈鏄啓鍑哄彲闈犱唬鐮佺殑鍩烘湰宸ュ叿鍜屾妧鏈?
鍦ㄨ繖涓鑺備腑鎴戜滑璁や負鏈鏈変環鍊肩殑鏄0鏉′笉瑕佸洜灝忓け澶?(鎴?鐭ラ亾浠涔堜笉闇瑕佽鑼冨寲.)
0. 涓嶈鍥犲皬澶卞ぇ. (鎴?鐭ラ亾浠涔堜笉闇瑕佽鑼冨寲.)
鎽樿
浠呰蹇呰鐨勮瘽:涓嶈鍧氭寔涓漢鍝佸懗鎴栭檲鏃х殑涔犳儻.
璁ㄨ
鐪熷彧鏄釜浜哄搧鍛充笖涓嶅獎鍝嶆紜ф垨鍙鎬х殑緇撹涓嶅睘浜庣紪鐮佹爣鍑?浠諱綍涓撲笟紼嬪簭鍛樺彲浠ュ緢瀹規槗鍦拌鍐欑◢寰笉鍚屼簬浠栨墍涔犳儻鐨勬牸寮忕殑浠g爜.
鍦ㄦ瘡涓簮鏂囦歡鐢氳嚦姣忎釜宸ョ▼涓兘瑕佺敤涓鑷寸殑鏍煎紡,鍥犱負鍦ㄥ嚑縐嶄笉鍚岀紪鐮侀鏍肩殑浠g爜鐗囨涓煩杞槸寰堜笉鍗忚皟鐨?浣嗘槸涓嶈浼佸浘鍦ㄤ笉鍚岄」鐩垨鍏徃涓潥鎸佷竴鑷村湴鏍煎紡.
涓嬮潰鏄嚑鏉¢氱敤鐨勭粨璁?榪欓噷閲嶈鐨勪笉鏄幓鍒跺畾瑙勫垯,鑰屽彧鏄淇濇寔涓庝綘緇存姢鐨勬枃浠剁殑椋庢牸鐨勪竴鑷?
涓嶅繀鏄庣‘鎸囧畾瑕佺緝榪涘灝?浣嗚緙╄繘浠ョ獊鍑虹粨鏋?鐢ㄤ綘鍠滄鐨勪換鎰忔暟閲忕殑絀烘牸緙╄繘,浣嗚嚦灝戣鍦ㄥ悓涓鏂囦歡涓繚鎸佷竴鑷?
涓嶅繀寮鴻淇濇寔鐗瑰畾鐨勮闀垮害,浣嗚淇濇寔琛屽叿鏈夊彲璇繪?鐢ㄤ綘鍠滄鐨勪換鎰忛暱搴︾殑琛岄暱,浣嗕笉瑕佸お闀夸簡.鐮旂┒琛ㄦ槑鍗佷釜鍗曡瘝浠ュ唴鐨勫搴﹀鐪肩潧璺熻釜鏄渶鐞嗘兂鐨?
涓嶈榪囧害鍒跺畾鍛藉悕瑙勫垯,浣嗚鐢ㄤ竴鑷寸殑鍛藉悕綰﹀畾:浠呮湁涓ょ偣蹇呴』瑕佸仛鐨?a)鍐充笉鐢?闅愮鐨?鍚嶇О,涔熷嵆浠ヤ竴涓笅鍒掔嚎寮澶存垨鍖呮嫭鍙屼笅鍒掔嚎鐨勫悕縐?浠ュ強b)鎬繪槸鐢ㄥ瓧姣嶅叏閮ㄥぇ鍐欑殑鍗曡瘝鍛藉悕瀹忓茍涓斿喅涓嶈鑰冭檻瀹氫箟涓涓父鐢ㄦ垨緙╁啓鍗曡瘝鐨勫畯(鍖呮嫭甯哥敤妯℃澘鍙傛暟,姣斿T鍜孶;浠?define T anything瀹氫箟浠諱綍涓滆タ鏄瀬鍏朵笉濂界殑鍋氭硶).姝ゅ,瑕佺敤涓鑷寸殑鏈夋剰涔夌殑鍚嶇О,騫舵寜鐓ф枃浠舵垨妯″潡鐨勭害瀹?(鑻ヤ綘涓嶈兘鍐沖畾浣犺嚜宸辯殑鍛藉悕綰﹀畾,璇曡瘯榪欑鏂瑰紡錛氫互鍚勫崟璇嶉瀛楁瘝澶у啓鏂瑰紡鍛藉悕綾匯佸嚱鏁板拰鏋氫婦(LikeThis);鍛藉悕鍙橀噺鏃跺湪鍓嶈呭熀紜涓婂皬鍐欑涓涓崟璇嶇殑棣栧瓧姣?likeThis);鍛藉悕縐佹湁鎴愬憳鍙橀噺鏃跺湪鍓嶈呮柟寮忎箣鍚庡啀鍔犱竴涓笅鍒掔嚎(linkThis_);浠ュ叏澶у啓騫剁敤涓涓笅鍒掔嚎榪炴帴鍚勫崟璇嶇殑鏂瑰紡鍛藉悕瀹?LINK_THIS).)
涓嶈瑙勫畾娉ㄩ噴鐨勯鏍?闄ら潪鏈夊伐鍏瘋В鏋愮壒瀹氭牸寮忕殑娉ㄩ噴鐢熸垚鏂囨。),浣嗚鍐欐湁鐢ㄧ殑娉ㄩ噴:濡傛灉鍙互鐨勮瘽浠ヤ唬鐮佹潵浠f浛娉ㄩ噴(瑙?a href="#item16">絎?6鏉?/a>).涓嶈鍦ㄦ敞閲婁腑閲嶅浠g爜;瀹冧滑涓嶈兘琚悓姝ョ淮鎶?瑕佸啓瑙i噴鏂規硶鍜屽熀鏈師鐞嗙殑鍚彂鎬х殑娉ㄩ噴.
鏈鍚?涓嶈璇曞浘鍧氭寔闄堟棫鐨勮鍒?瑙?a href="#0_3">渚?鍜?a href="#0_4">渚?),鍗充嬌瀹冧滑鏇懼湪鏃х紪鐮佽鑼冨嚭鐜拌繃.
渚嬪瓙
渚?:鎷彿鐨勬斁緗? 涓嬮潰鐨勫嚑縐嶆病鏈変換浣曞彲璇繪т笂鐨勫樊寮?
void using_k_and_r_style() { // K&R椋庢牸 } void putting_each_brace_on_its_own_line() { // 鎷彿鐙崰涓琛?br>} void or_putting_each_brace_on_its_own_line_indented() { // 鎷彿鐙崰涓琛屽茍緙╄繘 }
浠諱綍涓撲笟紼嬪簭鍛橀兘鍙互涓嶈垂鍔涘湴璇誨啓涓婇潰鎵鍒楃殑浠諱綍涓縐嶉鏍肩殑浠g爜.浣嗚淇濇寔涓鑷存?涓嶈闅忔剰鐨勬垨浠ユ櫐娑╃殑宓屽鏂瑰紡鏀劇疆鎷彿,璇曠潃鍘婚伒寰悇鏂囦歡涓凡鏈夌殑椋庢牸.鍦ㄦ湰涔︿腑,鎴戜滑鐨勬嫭鍙鋒湁鎰忚瘑鐨勫湪鎺掔増鐨勭害鏉熶腑浠ユ渶濂界殑鍙鎬х殑鏉ユ斁緗?
渚?: 絀烘牸涓庡埗琛ㄧ. 鐢變簬緙栬緫鍣ㄥ鍒惰〃絎﹁В閲婄殑涓嶅悓,瀹冨彲鑳借璇敤,鎴栬鐞嗚В鎴愬嚫鍑?鎴栨棤緙╄繘,榪欑鎯呭喌涓嬩竴浜涘洟闃熷悎鐞嗗湴閫夋嫨紱佺敤鍒惰〃絎?鍏朵粬鍚屾牱鏈夊悕鏈涚殑鍥㈤槦鍒欏悎鐞嗗湴鍏佽鍒惰〃絎?鑰岄噰鐢ㄧ邯寰嬫潵閬垮厤鍏舵綔鍦ㄧ己鐐?鍙淇濇寔涓鑷存?褰撳洟闃熸垚鍛樼淮鎶ゅ叾浠栦漢鐨勪唬鐮佹椂,濡傛灉浣犲厑璁鎬嬌鐢ㄥ埗琛ㄧ,紜繚涓嶈浠ヤ唬鐮佹竻鏅板害鍜屽彲璇繪т負浠d環(瑙?a href="#item6">絎?鏉?/a>).濡傛灉浣犵鐢ㄥ埗琛ㄧ,鍏佽緙栬緫鍣ㄥ湪璇誨叆婧愭枃浠舵椂灝嗙┖鏍艱漿鎹㈡垚鍒惰〃絎?浠ヤ究鐢ㄦ埛鍙互鍦ㄧ紪杈戝櫒涓嬌鐢ㄥ埗琛ㄧ;浣嗚紜繚鍐欏洖鏂囦歡鐨勬椂鍊欏皢瀹冧滑榪樺師涓虹┖鏍?
渚?: 鍖堢墮鍒╁懡鍚嶆硶. 灝嗙被鍨嬩俊鎭悎騫跺埌鍙橀噺鍚嶇О涓殑鍛藉悕鏂瑰紡涓虹被鍨嬩笉瀹夊叏鐨勮璦(灝ゅ叾鏄疌)甯︽潵浜嗕竴浜涙販鍚堢殑浣滅敤.浣嗚繖縐嶅懡鍚嶆硶鍦ㄩ潰鍚戝璞¤璦涓病鏈夊ソ澶?鍙湁鍧忓),灝ゅ叾鍦ㄦ硾鍨嬬紪紼嬩腑鏄牴鏈笉鍙兘鐨?鍥犳,涓嶄細鏈夊摢涓狢++緙栫爜瑙勮寖浼氳姹傜敤鍖堢墮鍒╁懡鍚嶆硶,C++緙栫爜瑙勮寖鍙兘鍚堢悊鍦板皢鍏舵帓闄ゅ湪澶?
渚?: 鍗曞叆鍙?鍗曞嚭鍙?"SESE"). 鍘嗗彶涓?涓浜涚紪鐮佽鑼冭姹傛瘡涓嚱鏁版湁涓斾粎鏈変竴涓嚭鍙?涔熷嵆涓涓繑鍥炶鍙?榪欐牱鐨勮姹傚湪鏀寔寮傚父涓庢瀽鏋勫嚱鏁扮殑璇█涓槸榪囨椂鐨?鍦ㄨ繖浜涜璦涓?鍑芥暟閫氬父閮戒細鏈夎澶氶殣寮忕殑鍑哄彛.鍙栬屼唬涔嬬殑鏄?鎸夌収鍍忕5鏉¢偅鏍風洿鎺ユ彁鍊℃洿綆鐭殑鍑芥暟鐨勬爣鍑?榪欐牱浼氬緢鑷劧鍦板叿鏈夋洿瀹規槗鐞嗚В浠g爜鍜屾妸鎻¢敊璇殑鐗規?
鍙傝?/h3>
[BoostLRG] 路 [Brooks95] $12 路 [Constantine95] $29 路 [Keffer95] p. 1 路 [Kernighan99] $1.1, $1.3, $1.6-7 路 [Lakos96] $1.4.1, $2.7 路 [McConnell93] $9, $19 路 [Stroustrup94] $4.2-3 路 [Stroustrup00] $4.9.3, $6.4, $7.8, $C.1 路 [Sutter00] $6, $20 路 [SuttHysl01]
1. 浠ラ珮璀﹀憡綰у埆騫插噣鍦扮紪璇?/h2>
鎽樿
灝嗚鍛婇摥璁頒簬蹇?浣跨敤浣犵殑緙栬瘧鍣ㄧ殑鏈楂樿鍛婄駭鍒?瑕佹眰騫插噣(鏃犺鍛?鐨勬瀯寤?鐞嗚В鍏ㄩ儴鐨勮鍛?騫墮氳繃淇敼浠g爜娑堥櫎璀﹀憡,鑰屼笉鏄氳繃闄嶄綆璀﹀憡綰у埆.
璁ㄨ
緙栬瘧鍣ㄦ槸浣犵殑濂芥湅鍙?鑻ュ畠鐢變簬涓涓壒瀹氱殑緇撴瀯鑰屽彂鍑轟竴涓鍛?閫氬父浣犵殑浠g爜鍚湁娼滃湪鐨勯棶棰?
鎴愬姛鏋勫緩搴旇鏄共鍑鐨?鏃犺鍛婄殑).濡傝嫢涓嶆槸榪欐牱,浣犲皢浼氬緢蹇吇鎴愬揩閫熸祻瑙堣緭鍑虹粨鏋滅殑涔犳儻,榪涜屼綘灝嗛敊榪囩湡姝g殑闂.(瑙?a href="#item2">絎?鏉?/a>)
娑堥櫎璀﹀憡: a)鐞嗚В瀹?鐒跺悗b)鏇存敼浣犵殑浠g爜鍘繪秷闄よ鍛婂茍璁╀綘鎯寵瀹冩墍鍋氱殑浜嬫儏瀵逛漢鍜岀紪璇戝櫒閮芥洿娓呮.
涓瀹氳鍋氳繖涓姝?鍗充嬌涓寮濮嬬▼搴忕湅璧鋒潵姝g‘榪愯浜?鎴栬呭嵆浣夸綘鑲畾璀﹀憡鏄壇鎬х殑.鍗充嬌鏄壇鎬ц鍛婁篃鍙互浣垮悗闈㈢殑鎸囧嚭鐪熸鍗遍櫓鐨勮鍛婂彉寰楅殣鏅?
渚嬪瓙
渚?: 絎笁鏂瑰ご鏂囦歡. 浣犱笉鍙兘鍘諱慨鏀逛竴涓紩璧?鎴栬鏄壇鎬х殑)璀﹀憡鐨勫簱澶存枃浠?鍥犳浣犺鍦ㄤ綘鑷繁鐨勫ご鏂囦歡涓寘鍚師濮嬪ご鏂囦歡騫朵粎鍦ㄨ繖涓ご鏂囦歡鐨勪綔鐢ㄥ煙鍐呴夋嫨鎬х殑灞忚斀鎺夎繖浜涚儲浜虹殑璀﹀憡,鐒跺悗鍦ㄤ綘鍏跺畠鐨勯」鐩枃浠朵腑鍖呭惈浣犵殑榪欎釜鍖呰榪囩殑澶存枃浠?渚嬪(娉ㄦ剰榪欓噷鐨勮鍛婃帶鍒惰娉曞湪緙栬瘧鍣ㄩ棿鏄笉鍚岀殑):
// 鏂囦歡: myproj/my_lambda.h -- 鍖呰Boost鐨刲ambda.hpp // 鎬繪槸浣跨敤榪欎釜鏂囦歡,鑰屼笉鐩存帴浣跨敤lambda.hpp. // 娉ㄦ剰: 鎴戜滑鐨勬瀯寤虹幇鍦ㄨ嚜鍔ㄦ鏌? "grep lambda.hpp ". // Boost.Lambda浜х敓鎴戜滑鎵鐭ラ亾鐨勬棤瀹崇殑緙栬瘧璀﹀憡. // 褰撲綔鑰呬慨姝e畠鏃舵垜浠皢縐婚櫎涓嬮潰鐨?pragma璇彞,浣嗘槸榪欎釜澶存枃浠朵粛灝嗗瓨鍦? // #pragma warning(push) // 浠呭睆钄借繖涓ご鏂囦歡 #pragma warning(disable:4512) #pragma warning(disable:4180) #include
#pragma warning(pop) // 鎭㈠鍘熸潵鐨勮鍛婄駭鍒?
渚?: "鏈嬌鐢ㄨ繃鐨勫嚱鏁板弬鏁?" 媯鏌ヤ互紜繚浣犵湡鐨勪笉鎵撶畻鐢ㄨ繖涓嚱鏁板弬鏁?渚嬪:瀹冨彲鑳芥槸鍗犱綅絎︿互渚垮皢鏉ユ墿灞?鎴栨槸浣犱唬鐮佷腑浠庢湭鐢ㄥ埌浣嗗嵈鏄繀闇鐨勬爣鍑嗗寲鍑芥暟絳懼悕鐨勪竴閮ㄥ垎).濡傝嫢瀹冧笉鏄繀闇鐨?鍙鍒犻櫎榪欎釜鍑芥暟鍙傛暟灝辮浜?
// 鈥?涓嶄嬌鐢ㄦ彁紺虹殑鐢ㄦ埛鑷畾涔夊垎閰嶅櫒鍐呴儴 鈥?br> // 璀﹀憡: "unused parameter 'localityHint'" pointer allocate( size_type numObjects, const void *localityHint = 0 ) { return static_cast( mallocShared( numObjects * sizeof(T) ) ); } // 鏂扮増鏈? 娑堥櫎璀﹀憡 pointer allocate( size_type numObjects, const void * /* localityHint */ = 0 ) { return static_cast( mallocShared( numObjects * sizeof(T) )); }
渚?: "鍙橀噺瀹氫箟浜嗕絾鍗翠粠鏈嬌鐢?" 媯鏌ョ‘淇濅綘鐪熺殑涓嶆兂寮曠敤榪欎釜鍙橀噺.(涓涓熀浜庢爤鐨凴AII瀵硅薄緇忓父寮曡搗榪欐牱鐨勪笉鍚堢悊鐨勮鍛?璇瘋絎?3鏉?/a>.)濡傝嫢瀹冧笉鏄繀闇鐨?閫氬父浣犲彲浠ユ彃鍏ヤ竴涓彉閲忚嚜姹傚肩殑琛ㄨ揪寮忎嬌緙栬瘧鍣ㄥ畨闈?榪欎竴姹傚間笉浼氬榪愯鏃墮熷害鏈夊獎鍝?:
// 璀﹀憡: "鍙橀噺'lock'瀹氫箟浜嗕絾鍗翠粠鏈嬌鐢?" void Fun() { Lock lock; // 鈥?br> } // 鏂扮増鏈? 娑堥櫎浜嗚鍛?br>void Fun() { Lock lock; lock; // 鈥?br> }
渚?: "鍙兘浣跨敤浜嗘湭鍒濆鍖栫殑鍙橀噺." 閭e氨鍒濆鍖栬繖涓彉閲?瑙?a href="#item19">絎?9鏉?/a>).
渚?: "涓㈠け榪斿洖璇彞." 鍗充嬌浣犵殑鎺у埗嫻佹案榪滀篃涓嶅彲鑳藉埌杈懼嚱鏁扮殑鏈熬,緙栬瘧鍣ㄦ湁鏃朵篃浼氳姹傛湁涓涓繑鍥炶鍙?渚嬪鏃犻檺寰幆銆佸紓甯告姏鍑鴻鍙ヤ互鍙婂叾瀹冪被鍨嬬殑榪斿洖璇彞).榪欎篃璁告槸涓浠跺ソ浜?鍥犱負鏈夋椂浣犲彧鏄涓烘帶鍒舵祦涓嶄細榪愯鍒版湯灝?渚嬪鏃燿efault鐨剆witch璇彞娌℃湁淇敼鐨勫脊鎬?鍥犱簺瑕佹湁涓涓猟efault璇彞鎵цassert( false ) (鍙﹁絎?a href="#item68">68鍜?a href="#item90">90鏉?:
// 璀﹀憡: 涓㈠け"return" int Fun( Color c ) { switch( c ) { case Red: return 2; case Green: return 0; case Blue: case Black: return 1; } } // 鏂扮増鏈? 娑堥櫎璀﹀憡 int Fun( Color c ) { switch( c ) { case Red: return 2; case Green: return 0; case Blue: case Black: return 1; default: assert( !"should never get here!" ); // !"string"鐨勫間負false return -1; } }
渚?: "鏈夌鍙?鏃犵鍙蜂笉鍖歸厤." 鏈夌鍙鋒暟涓庢棤絎﹀彿鏁頒箣闂寸殑姣旇緝涓庤祴鍊奸氬父涓嶆槸蹇呴渶鐨?鏀瑰彉鍙備笌姣旇緝鐨勫彉閲忕殑綾誨瀷浠ヤ嬌婊¤凍綾誨瀷鍖歸厤瑕佹眰.鏈鍧忔儏鍐典笅,鎻掑叆涓涓樉寮忚漿鎹?(鐢變簬緙栬瘧鍣ㄤ負浣犳彃鍏ヨ繖鏍風殑杞崲,涔熶細璀﹀憡浣犲畠鎵鍋氱殑,鎵浠ヤ綘鏈濂戒笉瑕佽瀹冨嚭鐜?)
渚嬪
鏈夋椂緙栬瘧鍣ㄥ彲鑳藉彂鍑轟竴涓帉鐑︾殑鐢氳嚦嬈洪獥鎬х殑璀﹀憡(姣斿綰補鐨勬壈涔變俊鎭?,浣嗘病鏈夊彲鎻愪緵鐨勬柟娉曞幓娑堥櫎瀹?鑰屼笖鍘諱慨鏀逛唬鐮佸幓娑堥櫎瀹冨彲鑳芥槸涓嶅彲瀹炵幇鐨勬垨鏄緬鍔崇殑宸ヤ綔.鍦ㄨ繖浜涚綍瑙佺殑鎯呭喌涓?浣滀負涓涓洟闃熷喅絳?闄ゅ幓榪欎釜鍙槸鏃犺亰鐨勮鍛婄殑鐑︿漢鐨勫伐浣滄槸:浠呬嬌鐗瑰畾璀﹀憡鏃犳晥,騫跺敖鍙兘鏄眬閮ㄦх殑,騫跺啓涓涓竻鏅扮殑娉ㄩ噴鏂囨。璇存槑涓轟粈涔堣繖鏍峰仛鏄繀瑕佺殑.
鍙傝?/h3>
[Meyers97] $48 路 [Stroustrup94] $2.6.2
2. 浣跨敤鑷姩鏋勫緩緋葷粺
鎽樿
鎸?鍗曚釜)鎸夐挳:浣跨敤涓涓棤闇鐢ㄦ埛鍙備笌鐨勫叏鑷姩("涓閿Е鍙?)鏋勫緩緋葷粺.
璁ㄨ
涓涓竴閿Е鍙戝紡鏋勫緩鏂規硶鏄熀鏈殑.瀹冨繀欏昏繘琛屽彲闈犵殑鍜屽彲閲嶅鐨勮漿鎹?灝嗕綘鐨勬簮鏂囦歡杞崲涓哄彲浜や粯鐨勭▼搴忓寘.鏈夊緢澶氳嚜鍔ㄦ瀯寤哄伐鍏峰彲浠ヤ嬌鐢?娌℃湁鐞嗙敱涓嶅幓鐢ㄥ畠.鎸戦変竴涓?浣跨敤瀹?
鎴戜滑宸茶榪囦竴浜涘拷瑙嗕簡"涓閿Е鍙?寮忚姹傜殑緇勭粐.涓浜涗漢璁や負闅忓鐐瑰嚑涓嬮紶鏍?灝卞彲浠ヨ繍琛屼竴浜涘伐鍏鋒潵娉ㄥ唽COM/CORBA鏈嶅姟,鎴栭氳繃鎵嬪伐瀹氬埗鐨勪竴涓悎鐞嗘瀯寤鴻繃紼嬫嫹璐濅竴浜涙枃浠?浣嗘槸浣犳病鏈夋椂闂村拰綺懼姏鍙互嫻垂鍦ㄤ竴浜涙満鍣ㄨ兘鍋氬緱鏇村ソ鏇村揩鐨勪簨鎯呬笂.浣犻渶瑕佷竴閿Е鍙戝紡鐨勮嚜鍔ㄥ寲鐨勫拰鍙潬鐨勬瀯寤?
鎴愬姛鐨勬瀯寤哄簲璇ユ槸娌℃湁浠諱綍璀﹀憡鐨?瑙佺1鏉?.鐞嗘兂鍖栫殑鏋勫緩涓嶄駭鐢熸壈涔變俊鎭?鑰屼粎鏄竴涓棩蹇楁秷鎭?"鏋勫緩鎴愬姛瀹屾垚."
鏈変袱涓瀯寤烘ā寮?澧為噺鏋勫緩鍜屽畬鍏ㄦ瀯寤?澧為噺鏋勫緩浠呴噸寤鴻嚜涓婅嚜澧為噺鏋勫緩鎴栧畬鍏ㄦ瀯寤轟互鏉ヨ淇敼榪囩殑鏂囦歡.鎺ㄨ:涓や釜榪炵畫鐨勫閲忔瀯寤轟腑鐨勫悗鑰呭簲璇ユ病鏈変換浣曡緭鍑烘枃浠?濡傛灉鏈夌殑璇?浣犲彲鑳芥湁涓涓緷璧栫幆(瑙佺22鏉?,鎴栬呬綘鐨勬瀯寤虹郴緇熸墽琛屼簡涓嶅繀瑕佺殑鎿嶄綔(渚嬪鐢熸垚涓嶅悎鐞嗙殑涓存椂鏂囦歡鑰屽彧鏄涪寮冨畠浠?.
涓涓伐紼嬪彲浠ユ湁涓嶅悓褰㈠紡鐨勫畬鍏ㄦ瀯寤?鑰冭檻鐢ㄤ竴緋誨垪鏈川鐨勭壒寰佺‘瀹氫綘鐨勬瀯寤虹殑鍙傛暟;寰堝彲鑳藉欓夎呭氨鏄洰鏍囧紡浣撶郴緇撴瀯銆佽皟璇曞拰鍙戝竷銆佹垨鏇村箍(鍩烘湰鏂囦歡鍜屽叏閮ㄦ枃浠跺拰瀹屽叏瀹夎).涓涓瀯寤鴻緗彲浠ュ垱寤轟竴涓駭鍝佺殑鍩烘湰鐨勫彲鎵ц鏂囦歡鍜屽簱,鍙︿竴涓彲鑳戒篃鍒涘緩涓浜涜緟鍔╂枃浠?涓涓畬鍏ㄥ厖瀹炵殑鏋勫緩涔熷彲鑳藉垱寤轟竴涓寘鍚綘鎵鏈夋枃浠躲佸彲閲嶅彂甯冪殑絎笁鏂瑰簱鍜屽畨瑁呬唬鐮佺殑瀹夎紼嬪簭.
闅忕潃宸ョ▼鐨勮繘琛?娌℃湁鑷姩鏋勫緩鐨勮姳璐逛篃鍦ㄥ闀?濡傛灉浣犱竴寮濮嬫病鏈夌敤,浣犲皢嫻垂寰堝鏃墮棿鍜岃祫婧?鏇寸碂緋曠殑鏄?闅忕潃鑷姩鏋勫緩鎴愪負鏃犳硶鎶墊姉鐨勯渶姹?浣犲皢浼氭湁姣旈」鐩竴寮濮嬫洿澶氱殑鍘嬪姏.
澶ч」鐩彲鑳芥湁涓涓?鏋勫緩甯?涓葷",浠栫殑宸ヤ綔灝辨槸鐓ф枡鏋勫緩緋葷粺.
鍙傝?/h3>
[Brooks95] $13, $19 路 [Dewhurst03] $1 路 [GnuMake] 路 [Stroustrup00] $9.1
3. 浣跨敤涓涓増鏈帶鍒剁郴緇?/h2>
鎽樿
濂借鎬ф瘮涓嶄笂鐑傜瑪澶?浣跨敤涓涓増鏈帶鍒剁郴緇?VCS).鍐充笉瑕佽媯鍑虹殑鏂囦歡淇濈暀寰堥暱鏃墮棿.涓鏃︿綘鐨勬洿鏂扮殑鍗曞厓閫氳繃嫻嬭瘯灝卞敖蹇鍏?紜繚媯鍏ョ殑浠g爜涓嶄細鐮村潖鏁翠釜鏋勫緩.
璁ㄨ
鍑犱箮鎵鏈変笉騫沖嚒鐨勫伐紼嬮兘闇瑕佷竴涓互涓婄殑寮鍙戣呭拰/鎴栬秴榪囦竴鍛ㄧ殑宸ヤ綔閲?鍦ㄨ繖鏍風殑宸ョ▼涓?浣犲皢闇瑕佹瘮杈冨悓涓鏂囦歡鐨勫巻鍙茬増鏈互紜畾鍙樺寲鏄粈涔堟椂鍊?鍜?鎴栬璋?寮曞叆鐨?浣犱篃灝嗛渶瑕佹帶鍒跺拰綆$悊婧愪唬鐮佺殑鍙樺寲.
褰撴湁澶氫釜寮鍙戣呮椂,鍑犱釜寮鍙戣呭緢鍙兘浼氬湪鍚屼竴鏃墮棿瀵瑰悓涓鏂囦歡鐨勪笉鍚岄儴鍒嗚繘琛屽茍琛屽湴鏇存敼.浣犻渶瑕佸伐鍏蜂互鑷姩榪涜鏂囦歡鐨勬鍑哄拰鎭㈠,浠ュ強鍦ㄦ煇浜涙椂鍊欏騫跺彂緙栬緫鐨勫悎騫?VCS鑷姩鎿嶄綔鍜屾帶鍒舵鍑?鎭㈠浠ュ強鍚堝茍.VCS姣旀墜宸ュ仛鐨勬洿蹇洿鍑嗙‘.鑰屼笖浣犱笉鐢ㄨ姳鏃墮棿姣忓ぉ鐨勫幓鎽嗗紕閭d簺閲嶅鎬х殑宸ヤ綔,浣犳湁杞歡瑕佸啓.
涓嶈鐮村潖鏋勫緩.鍦╒CS涓殑浠g爜蹇呴』鎬繪槸鍙互鎴愬姛鏋勫緩鐨?
瀛樺湪寰堝鐨勭増鏈帶鍒剁郴緇熷彲渚涢夋嫨,娌℃湁鐞嗙敱涓嶅幓鐢ㄥ畠.鏈渚垮疁鍜屾祦琛岀殑鏄痗vs(瑙佸弬鑰?.瀹冩槸涓涓伒媧葷殑宸ュ叿,鍏瘋儭TCP/IP璁塊棶鐗規?鍙夋嫨鎬х殑鎻愰珮瀹夊叏鎬?閫氳繃鐢ㄥ畨鍏ㄥ澹砈SH浣滀負鍚庣),鍗撹秺鐨勮剼鏈鐞?鐢氳嚦鏈夊浘褰㈡帴鍙?璁稿鍏跺畠VCS涔熷皢cvs浣滀負鏍囧噯鍘繪晥浠?鎴栧熀浜庡畠鏋勫緩鏂扮殑鍔熻兘.
渚嬪
浠庡鑷崇粓鍙姳涓鍛ㄥ乏鍙蟲椂闂寸殑涓涓▼搴忓憳鐨勯」鐩垨璁稿彲浠ヤ笉闇瑕乂CS鑰岀敓瀛樺惂.
鍙傝?/h3>
[BetterSCM] 路 [Brooks95] $11, $13 路 [CVS]
4. 鍦ㄤ唬鐮佸闃呬笂浣滄姇鍏?/h2>
鎽樿
浠g爜瀹¢槄:鏇村鍙岀溂鐫涘皢浼氬甫鏉ユ洿濂界殑璐ㄩ噺.灞曠ず浣犵殑浠g爜,騫墮槄璇諱粬浜虹殑.浣犱滑閮藉皢鐩鎬簰瀛︿範鎴栧彈鐩?
璁ㄨ
涓涓壇濂界殑浠g爜瀹¢槄榪囩▼鍦ㄨ澶氭柟闈㈤兘瀵逛綘鐨勫洟闃熸湁濂藉.瀹冨彲浠?
鏈夌泭鐨勫鉤絳夌殑鍘嬪姏鍙互澧炲姞浠g爜璐ㄩ噺. 鍙互鎵懼埌bugs銆佺Щ妞嶆т笉濂界殑浠g爜浠ュ強娼滃湪鐨勫害閲忛棶棰? 閫氳繃鎬濇兂鐨勪簰琛ュ煿鍏誨艦鎴愮殑璁捐鍜屽疄鐜? 甯﹀姩鏂版垚鍛樺拰鍒濈駭鑰呰繀閫熸彁鍗囪兘鍔? 鍦ㄥ洟闃熶腑褰㈡垚鍏卞悓浠峰煎拰鍥㈤槦鎰忚瘑. 澧炲姞綺捐嫳銆佷俊蹇冦佸姩鏈哄拰涓撲笟鑷豹蹇?
璁稿寮鍙戝晢鏃笉瀵逛唬鐮佽川閲忓拰鍥㈤槦璐ㄩ噺榪涜濂栬祻,涔熶笉鎶曞叆鏃墮棿鍜岄噾閽遍紦鍔變粬浠?甯屾湜鎴戜滑浠庣幇鍦ㄨ搗鍑犲勾閮戒笉浼氶璦,浣嗘垜浠劅瑙夊埌榪欑瓚嬪娍姝e湪鎱㈡參鏀瑰彉,閮ㄥ垎鍘熷洜鏄敱浜庡瀹夊叏杞歡鐨勯渶姹傜殑澧為暱.浠g爜瀹¢槄姝f湁鍔╀簬榪欑瓚嬪娍,鍙﹀涔熸槸涓涓瀬濂界殑(鍜屽厤璐圭殑)鍐呴儴璁粌鏂規硶.
鍗充嬌浣犵殑闆囦富榪樹笉鏀寔浠g爜瀹¢槄鏂規硶,浣犱篃瑕佸鍔犵鐞嗙煡璇?鎻愮ず:瑕佸紑濮?緇欎粬浠湅榪欐湰涔?浠ュ強鏃犺濡備綍瑕佸敖浣犳渶澶у姫鍔涘幓瀹夋帓鏃墮棿騫跺紩瀵煎闃呯殑榪涜.榪欐椂闂存槸鍊煎緱鑺辯殑.
灝嗕唬鐮佸闃呬綔涓轟綘鐨勮蔣浠跺紑鍙戝懆鏈熺殑涓欏瑰父瑙勭▼搴?濡傛灉浣犲拰浣犵殑闃熷弸璧炲悓鍩轟簬嬋鍔?涔熷彲鑳芥槸鎸姌)鐨勫鎯╁埗搴?灝變細濂藉緱澶?
涓嶈鍋氬緱澶艦寮忓寲浜?鍐欎竴灝佺畝鍗曠殑閭歡灝辮凍澶熷皢浠g爜瀹¢槄鍋氬緱寰堝ソ浜?榪欎細浣夸綘鏇村鏄撹窡韙嚜宸辯殑榪涚▼浠ュ強閬垮厤閲嶅.
褰撳闃呬粬浜虹殑浠g爜鏃?浣犲彲鑳芥兂鍦ㄦ梺杈逛繚鐣欎竴涓緵鍙傝冪殑娓呭崟.紿冧互涓轟竴涓ソ鐨勬竻鍗曞彲鑳芥鏄綘姝e湪璇葷殑榪欐湰涔︾殑鐩綍琛?婊℃剰鍚?
鎽樿:鎴戜滑鐭ラ亾鎴戜滑鍦ㄧ粰"鍞辮瘲鐝?甯冮亾,浣嗘槸涓嶅緱涓嶈.浣犱滑鐨勮嚜璐熸垨鑷垜涓諱箟涔熻璁ㄥ帉浠g爜瀹¢槄,浣嗕綘浠腑鐨勫皯閲忓ぉ鎵嶇▼搴忓憳鍠滄瀹?鍥犱負瀹冧細鏈夋垚鏁堝茍浣夸唬鐮佹洿濂?浣跨▼搴忔洿寮哄仴.
鍙傝?/h3>
[Constantine95] $10, $22, $33 路 [McConnell93] $24 路 [MozillaCRFAQ]
]]> 璇勪環涓涓婾TF-8涓嶶NICODE鐩鎬簰杞崲鐨勪唬鐮?/title> http://m.shnenglu.com/kb/archive/2005/09/29/491.html鍙啺 鍙啺 Thu, 29 Sep 2005 12:34:00 GMT http://m.shnenglu.com/kb/archive/2005/09/29/491.html http://m.shnenglu.com/kb/comments/491.html http://m.shnenglu.com/kb/archive/2005/09/29/491.html#Feedback 8 http://m.shnenglu.com/kb/comments/commentRss/491.html http://m.shnenglu.com/kb/services/trackbacks/491.html 涓婂懆,鎴戣姳浜嗗緢澶氬績鎬濅嬌鐢ㄦā鏉垮啓浜嗕竴涓猆TF-8涓嶶NICODE鐩鎬簰杞崲鐨勫姛鑳?瑙佹枃浠?/font>code.rar ),鍒氬紑濮嬫劅瑙夎繕鍙互,浣嗚繖鍑犲ぉ鎱㈡參鐨勮寰?涓轟粈涔堜笉鐩存帴鎻愪緵涓や釜鍑芥暟鍛?榪欐牱涓嶆槸綆鍗曟柟渚垮悧?鎴戣繖鏍風殑璁捐鍙堣兘甯︽潵棰濆鐨勪粈涔堝ソ澶勫憿?鍒氬紑濮嬫垜鏄兂鎻愪緵姣旇緝鏂逛究濂界敤浠ュ強瀹規槗鎵╁睍涓庣淮鎶ょ殑浠g爜,浣嗙幇鍦ㄦ劅瑙夊埌涓庣洿鎺ユ彁渚汣寮忕殑鍑芥暟騫舵病鏈夊灝戦澶栫殑濂藉.鎴栬榪欐牱鐨勭畝鍗曞姛鑳芥牴鏈氨鐢ㄤ笉鐫榪欐牱澶嶆潅鐨勪唬鐮佸惂.姝eEric Raymond瀵笴++鐨勮瘎浠蜂竴鏍?瀹?浣跨▼搴忓憳鍊懼悜浜庡啓澶嶆潅鐨勪唬鐮?. 鎴戞兂澶у鐪嬬湅鎴戠殑浠g爜,緇欐垜涓鐐規剰瑙佸拰寤鴻. ]]> 鍏充簬妯℃澘鐨勭被鍨嬪弬鏁?/title> http://m.shnenglu.com/kb/archive/2005/09/29/490.html鍙啺 鍙啺 Thu, 29 Sep 2005 11:51:00 GMT http://m.shnenglu.com/kb/archive/2005/09/29/490.html http://m.shnenglu.com/kb/comments/490.html http://m.shnenglu.com/kb/archive/2005/09/29/490.html#Feedback 9 http://m.shnenglu.com/kb/comments/commentRss/490.html http://m.shnenglu.com/kb/services/trackbacks/490.html 鐪嬩簡cpunion鍐欑殑IDL鐨勪唬鐮?鎴戠煡閬撲簡榪欐牱鐨勭敤娉? 鍦ㄦā鏉垮弬鏁頒腑,綾誨瀷鍙傛暟鍙互榪欐牱鏋勯? 聽聽聽聽聽聽聽 template_class< type( type1, type2, ... ) > a_class; 姣斿,鍙互void( void ), void(), void( int ), 涔熷彲浠nt( void ), string( int )絳夌瓑,緙栬瘧鍣ㄦ槸灝嗗畠浠綋浣滀笉鍚岀殑綾誨瀷鐨勬潵澶勭悊鐨?瀵規,鎴戝啓浜嗕竴浜涗唬鐮佷綔浜嗕竴涓嬫祴璇?瑙佹枃鏈?.浣嗘垜涔熶粎浠呮槸鏈変竴涓劅鎬х殑璁よ瘑鑰屽凡,瀵逛簬鍏朵負浠涔堝彲浠ヨ繖鏍?鍥犱負浠庢湭瑙佸摢鏈功涓婁粙緇嶈繃榪欐牱鐨勭敤娉?,鎴戜竴鐐逛篃涓嶇煡閬? 甯屾湜澶у甯垜閲婄枒,涔熷笇鏈沜punion鏉ュ府鎴戜竴涓?璋㈣阿!
#include聽< iostream > typedef聽void ( * fun)( int ); using 聽 namespace 聽std; template < 聽typename 聽T聽 > struct 聽Base { 聽聽聽聽 void 聽test() 聽聽聽聽 { 聽聽聽聽聽聽聽聽cout聽 << 聽 " Base " 聽 << 聽 " \t=\t " ; 聽聽聽聽聽聽聽聽cout聽 << 聽 " Base< " 聽 << 聽typeid (T).name()聽 << 聽 " > " 聽 << 聽endl; 聽聽聽聽} }; template <> struct 聽Base聽 < 聽 void 聽 > { 聽聽聽聽 void 聽test() 聽聽聽聽 { 聽聽聽聽聽聽聽聽cout聽 << 聽 " Base " 聽 << 聽endl; 聽聽聽聽} }; template <> struct 聽Base聽 < 聽 void (聽 int 聽)聽 > { 聽聽聽聽 void 聽test() 聽聽聽聽 { 聽聽聽聽聽聽聽聽cout聽 << 聽 " Base " 聽 << 聽endl; 聽聽聽聽} }; template <> struct 聽Base聽 < 聽fun聽 > { 聽聽聽聽 void 聽test() 聽聽聽聽 { 聽聽聽聽聽聽聽聽cout聽 << 聽 " Base " 聽 << 聽endl; 聽聽聽聽} }; template <> struct 聽Base聽 < 聽 int (聽 string ,聽 int ,聽 char 聽)聽 > { 聽聽聽聽 void 聽test() 聽聽聽聽 { 聽聽聽聽聽聽聽聽cout聽 << 聽 " Base " 聽 << 聽endl; 聽聽聽聽} }; int 聽main( int 聽argc,聽 char * 聽argv[]) { 聽聽聽聽Base < 聽 void 聽 > 聽b_void; 聽聽聽聽Base < 聽 void (聽 int 聽)聽 > 聽b_void_int; 聽聽聽聽b_void.test(); 聽聽聽聽b_void_int.test(); 聽聽聽聽Base < 聽 int (聽 string ,聽 int ,聽 char 聽)聽 > 聽b_int; 聽聽聽聽Base < 聽fun聽 > 聽b_fun; 聽聽聽聽b_int.test(); 聽聽聽聽b_fun.test(); 聽聽聽聽Base < 聽Base < 聽 void 聽 > 聽(聽Base聽 < 聽 int 聽(聽 string ,聽 int ,聽 char 聽)聽 > 聽)聽 > 聽b_complex; 聽聽聽聽b_complex.test(); 聽聽聽聽 return 聽 0 ; } ]]> error C2899: 涓嶈兘鍦ㄦā鏉垮0鏄庝箣澶栦嬌鐢ㄧ被鍨嬪悕縐??!! http://m.shnenglu.com/kb/archive/2005/09/24/414.html鍙啺 鍙啺 Sat, 24 Sep 2005 07:49:00 GMT http://m.shnenglu.com/kb/archive/2005/09/24/414.html http://m.shnenglu.com/kb/comments/414.html http://m.shnenglu.com/kb/archive/2005/09/24/414.html#Feedback 5 http://m.shnenglu.com/kb/comments/commentRss/414.html http://m.shnenglu.com/kb/services/trackbacks/414.html 鍓嶅ぉ紕板埌涓涓棶棰?褰撴椂鎯崇潃鎸虹撼闂風殑,涓嶇煡閬撴槸浠涔堝師鍥?瀵?涓嶈兘鍦ㄦā鏉垮0鏄庝箣澶栦嬌鐢ㄧ被鍨嬪悕縐?榪欐牱鐨勬彁紺轟綘浼氭兂鍒版槸浠涔?鎴戝湪鏃犳剰涓寜F1閿湅鍒癕SDN涓殑鎻忚堪鎵嶆槑鐧芥槸typename鍏抽敭瀛楃敤閿欎簡,鏄湅瀹冪殑鑻辨枃鎻忚堪鎵嶇煡閬撶殑:"typename cannot be used outside a template declaration ".鐪熸兂涓嶅埌typename浼氱炕璇戜負綾誨瀷鍚嶇О.鐪嬫潵,浠ュ悗鏈夎帿鍚嶅叾濡欑殑閿欒榪樻槸寰楃湅鑻辨枃鐨勫府鍔╂枃妗e晩,涓嶈繃鏈濂戒竴寮濮嬪氨鏈夎嫳鏂囩増鐨刅S.NET. 浠ヤ笅鏄叿浣撶殑鎻忚堪:
namespace 聽code { enum 聽CodeType聽 {聽UTF_8,聽UNICODE聽} ; template < 聽CodeType聽srcT,聽CodeType聽desT聽 > struct 聽ConvertType {} ; template <> struct 聽ConvertType聽 < 聽UTF_8,聽UNICODE聽 > { 聽聽聽聽typedef聽 char 聽srcType; 聽聽聽聽typedef聽wchar_t聽desType; } ; template < 聽CodeType聽srcT,聽CodeType聽desT聽 > struct 聽Convert聽 {} ; template <> struct 聽Convert < 聽UTF_8,聽UNICODE聽 > { 聽聽聽聽 // error聽C2899:聽涓嶈兘鍦ㄦā鏉垮0鏄庝箣澶栦嬌鐢ㄧ被鍨嬪悕縐?/SPAN> 聽聽聽聽typedef聽typename聽ConvertType < 聽UTF_8,聽UNICODE聽 > ::srcType聽srcType;聽聽聽聽 // ! 聽聽聽聽typedef聽typename聽ConvertType < 聽UTF_8,聽UNICODE聽 > ::desType聽desType;聽聽聽聽 // ! }; } 聽 // namespace聽code /**/ /* 榪欓噷鏍規湰涓嶉渶瑕乼ypename. typename闄ょ敤鍦ㄦā鏉垮0鏄庝腑澶?鍙兘鐢ㄤ簬璇存槑妯℃澘綾葷殑鎴愬憳鏄竴涓被鍨? 渚嬪: template聽class聽X聽{}; //聽Another聽way template聽struct聽X聽{ 聽聽聽聽typedef聽double聽DoubleType; 聽聽聽聽typename聽X::DoubleType聽a;聽聽聽//聽T::A聽is聽a聽type }; 鑰屽鏋滀笉鏄ā鏉跨被,鍒欎笉鑳界敤typename.榪欐椂,瀹冨茍涓嶆槸澶氫綑鐨?鑰屾槸涓瀹氫笉鑳借鐨? 渚嬪: template<>聽struct聽X<聽X聽>聽{ 聽聽聽聽typename聽X::DoubleType聽a;聽聽聽聽//Error!聽X聽is聽not聽a聽generic聽class 聽聽聽聽X::DoubleType聽b;聽聽聽聽聽聽聽聽//OK! }; 鎴戝墠闈㈢殑浠g爜涔熸槸榪欐牱鐨勬儏鍐?ConvertType<聽UTF_8,聽UNICODE聽>宸茬粡鏄竴涓叿浣撶殑綾諱簡,涓嶈鏄ā鏉跨被,鎵浠onvertType<聽UTF_8,聽UNICODE聽>::srcType鍓嶄笉鑳藉姞typename. */ ]]> 鏋勬漊TF-8瑙g爜妯″潡 http://m.shnenglu.com/kb/archive/2005/09/22/399.html鍙啺 鍙啺 Thu, 22 Sep 2005 15:24:00 GMT http://m.shnenglu.com/kb/archive/2005/09/22/399.html http://m.shnenglu.com/kb/comments/399.html http://m.shnenglu.com/kb/archive/2005/09/22/399.html#Feedback 1 http://m.shnenglu.com/kb/comments/commentRss/399.html http://m.shnenglu.com/kb/services/trackbacks/399.html
鎯沖疄鐜頒竴涓В鐮乁TF-8鏍煎紡鏂囨。涓篣nicode鏍煎紡浠g爜鐨?寮曟搸",瑕佺敤璧鋒潵鏂逛究欏烘墜. 浣嗘兂浜嗗嚑澶╀簡,閮芥病鏈変竴涓悎閫傜殑鏂規鏉ュ疄鐜? 鍞?..... 浠婂ぉ鍏堣瘯鐫鍐欎簡鍐?鎵炬壘鎰熻,鎺ョ潃鍐嶆兂鍚?..
]]>std::wfstream鏄庝箞鏀寔瀹藉瓧絎︾殑? http://m.shnenglu.com/kb/archive/2005/09/22/396.html鍙啺 鍙啺 Thu, 22 Sep 2005 14:47:00 GMT http://m.shnenglu.com/kb/archive/2005/09/22/396.html http://m.shnenglu.com/kb/comments/396.html http://m.shnenglu.com/kb/archive/2005/09/22/396.html#Feedback 4 http://m.shnenglu.com/kb/comments/commentRss/396.html http://m.shnenglu.com/kb/services/trackbacks/396.html
std::wfstream鐨勫畾涔変負:
typedef basic_fstream<wchar_t , char_traits<wchar_t > > wfstream;
鍦ㄨ鍙栧瓧絎︽椂:
wfstream wfile( "wcharfile.txt" );
wchar_t wch = wfile.get();
鎸夎涔夎搴旇鏄鍏ヤ袱涓瓧鑺傚唴瀹圭殑.浣嗙粡杈撳嚭媯嫻?瀹冨嵈鍙鍏ヤ竴涓瓧鑺?榪欐牱鍜宖stream榪樻湁浠涔堝垎鍒?
鍒板簳鍦ㄥ鐞哢nicode緙栫爜鐨勬枃浠舵椂,搴旇濡備綍浣跨敤瀹藉瓧絎︽祦? ]]>綾繪垚鍛樺彉閲忓皝瑁呯殑闂 http://m.shnenglu.com/kb/archive/2005/09/18/300.html鍙啺 鍙啺 Sun, 18 Sep 2005 10:19:00 GMT http://m.shnenglu.com/kb/archive/2005/09/18/300.html http://m.shnenglu.com/kb/comments/300.html http://m.shnenglu.com/kb/archive/2005/09/18/300.html#Feedback 0 http://m.shnenglu.com/kb/comments/commentRss/300.html http://m.shnenglu.com/kb/services/trackbacks/300.html 聽 鍦ㄧ被鐨勮璁′腑,瀵規垚鍛樺彉閲忕殑灝佽鏄竴涓瘮杈冪儲浜虹殑闂.浠涔堟椂鍊欏簲璇ユ彁渚涜鍐欑殑鎺ュ彛,浠涔堟椂鍊欏簲璇ュ0鏄庝負public,榪欐牱鐨勯棶棰樻湁鏃跺欐敼鍑犳涔熼兘涓嶆槸寰堟弧鎰忕殑. 聽 灝嗗鍙橀噺鐨勮鍐欐搷浣滃皝瑁呰搗鏉ヤ互鎺ュ彛鐨勫艦寮忔彁渚?鏄湁浜嗕竴瀹氱殑鎺ュ彛涓鑷存?濡傛灉浠ュ悗瑕佸湪璇誨啓鍙橀噺鐨勬搷浣滃唴鍔犲叆鍏跺畠鐨勬搷浣?閭d箞鍘熸湁鐨勪唬鐮佸氨鍙互涓嶅姞浠諱綍淇敼,鍙敼榪欐牱鐨勬帴鍙e氨琛屼簡.涔熷氨鏄澶栭儴灝侀棴浜嗙粏鑺?浣跨紪紼嬬畝鍗曚竴鐐?
浣嗘垜涔熻寰椾笉鑳界敤"涓鍒鍒?鐨勬柟寮忓皢鎵鏈夌殑鎴愬憳鍙橀噺閮藉姞浠ヨ繖鏍風殑灝佽,榪欐牱鏃犵枒浼氫嬌浠g爜澧為暱(鑰屼笖鍙兘榪樻湁鎴戞墍涓嶇煡閬撶殑緙虹偣).
鎬葷殑鏉ヨ, 聽 瀵逛簬瑕佸澶栭儴鎻愪緵搴旂敤鐨勫彉閲?鏈濂戒互鎺ュ彛鐨勫艦寮忔彁渚?榪欐牱鍙互鏈夋瘮杈冧竴鑷寸殑鎺ュ彛. 聽 鑰屽鏋滃彧鏄唴閮ㄤ嬌鐢ㄧ殑璇?涓斿彧鏄敤浜庝繚瀛樺彉閲忕殑鍊肩殑璇?鐩存帴澹版槑涓簆ublic浼氬ソ涓浜?鑰岃嫢鍦ㄥ唴閮ㄤ篃鏄浉瀵瑰湴涓哄叾瀹冪被鎻愪緵鏈嶅姟鐨勮瘽,涔熻繕鏄澹版槑涓烘帴鍙h濂戒竴浜? 榪欓噷鎵璇寸殑鍐呴儴鍜屽閮?鍙槸鐩稿鏉ヨ鐨?騫朵笉鍙槸閽堝鏌愪釜綾繪垨紼嬪簭鑰岃█.鍏蜂綋鏉ヨ瑕佹牴鎹唬鐮佺殑鑱氬悎紼嬪簭鏉ョ湅. 鏈涓昏鐨勫師鍒欒繕鏄瀵瑰叿浣撶殑鎯呭喌榪樿鍔犱互鍖哄埆瀵瑰緟,鏍規嵁瀹為檯鎯呭喌涓嶅悓鑰屾柦浠ヤ笉鍚岀殑搴旂敤. =========== 榪欐牱鐨勯棶棰樹富瑕佽繕鏄潬緙栫爜緇忛獙鐨?濡傛灉鏈夌粡楠岀殑璇?鍙兘鍑劅瑙夊氨鍙互闅忔椂鍐沖畾鐨? 瀵逛簬榪欎釜闂鎴戜篃鍙槸鏈夎繖涓鐐圭殑鍒濇瑙佽В(鎴戝嚑涔庢病鏈変粈涔堝疄闄呯殑緙栫爜緇忛獙),涔熶笉鐭ラ亾鍚堜笉鍚堥?甯屾湜鏈夌墰浜哄彲浠ュ姞浠ユ寚瀵?
]]> 鐩墠C++鍙互瀹炵幇璺ㄥ鉤鍙板悧 http://m.shnenglu.com/kb/archive/2005/09/14/271.html鍙啺 鍙啺 Wed, 14 Sep 2005 15:30:00 GMT http://m.shnenglu.com/kb/archive/2005/09/14/271.html http://m.shnenglu.com/kb/comments/271.html http://m.shnenglu.com/kb/archive/2005/09/14/271.html#Feedback 7 http://m.shnenglu.com/kb/comments/commentRss/271.html http://m.shnenglu.com/kb/services/trackbacks/271.html 澶у閮界煡閬撶幇鍦–/C++鐨勭紪璇戞槸鍒嗕負涓や釜閮ㄥ垎鐨?鍗崇紪璇戝拰榪炴帴:婧愭枃浠剁粡緙栬瘧鍚庣敓鎴愮洰鏍囨枃浠?鐒跺悗鍐嶈繛鎺ヤ負鍙墽琛屾枃浠?
鎴戝榪欎袱涓樁孌佃鍋氱殑宸ヤ綔榪樻病鏈変簡瑙?鎵浠ユ垜鐜板湪鍙互榪欐牱璁炬兂(涔熸湁鍙兘鏄棤鐭ョ殑璁炬兂):
浠ヤ竴縐嶆爣鍑嗙殑鏂瑰紡瀹氫箟鐩爣鏂囦歡鐨勬牸寮?浣夸箣鍦ㄥ悇鎿嶄綔緋葷粺涓婄敓鎴愮殑鐩爣鏂囦歡瀹屽叏涓鑷?鑰屼笖閮藉彲浠ュ湪鐩稿簲鐨勫鉤鍙頒笂榪涜姝g‘鐨勮繛鎺?榪欐牱鐨勮瘽,灝辯浉褰撲簬鏄竴涓腑闂村眰嬈$殑鍙Щ妞嶆т簡.鍏跺疄,濡傛灉榪欐牱涓嶈鐨勮瘽涔熷彲浠ュ儚JAVA閭f牱鐢熸垚涓瀹氭牸寮忕殑"瀛楄妭鐮?鏂囦歡,鐒跺悗鍐嶈繘琛岀紪璇戣繛鎺?
濡傛灉鍙互灝嗚繛鎺ョ殑涓閮ㄥ垎鍔熻兘緇撳悎鍒版搷浣滅郴緇熷唴閮?瀹炵幇鍔ㄦ佺殑榪炴帴,榪欐牱灝卞彲浠ュ疄鐜扮被浼煎姩鎬佽杞界殑鐗規т簡.
浣嗚繖涓瀹炵幇鐨勮瘽灝遍渶瑕佹湁涓涓ぇ鐨勬姇璧勬柟鎴栬呭紑婧愮ぞ鍖鴻嚜宸辯殑鍏卞悓鍔姏鎵嶈兘瀹炵幇浜?
鎵浠ョ幇鍦ㄨ繖鏍風殑鎯蟲硶榪樻槸絀烘兂鍚?
涓嶈繃鎴戞兂,浜嬬墿閮芥槸鍙戝睍鐨?鎴戜滑鐨凜++褰撶劧涔熶笉浼氫緥澶栫殑.鎴戠浉淇++浼氬湪涓嶄箙涔熷疄鐜板姩鎬佸強瀹屽叏鐨勮法騫沖彴鐨勭壒鎬х殑.甯屾湜榪欎竴澶╀笉浼氬お榪?
]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
国产精品v一区二区三区 |
欧美在线一区二区 |
亚洲与欧洲av电影 |
国产一区二区欧美日韩 |
最新国产の精品合集bt伙计 |
日韩一区二区电影网 |
99re6热在线精品视频播放速度 |
亚洲一区二区三区乱码aⅴ蜜桃女 |
亚洲日本va午夜在线电影 |
999亚洲国产精 |
欧美极品在线观看 |
在线观看日韩av |
欧美亚洲三级 |
亚洲欧美日韩精品久久 |
一本色道综合亚洲 |
老司机精品视频网站 |
韩国美女久久 |
亚洲人成精品久久久久 |
香港久久久电影 |
亚洲人在线视频 |
亚洲午夜高清视频 |
国产亚洲毛片 |
久久深夜福利 |
亚洲视频每日更新 |
久久九九国产 |
久久国产一二区 |
亚洲电影自拍 |
久久亚洲一区二区 |
欧美在线视频不卡 |
在线观看视频日韩 |
亚洲在线观看免费视频 |
亚洲成色www8888 |
久久免费视频在线 |
日韩视频精品在线 |
欧美一区=区 |
亚洲自拍啪啪 |
欧美视频在线观看视频极品
|
亚洲手机在线 |
久久久91精品国产一区二区精品 |
亚洲欧洲在线免费 |
国产精品久久久久一区二区三区 |
亚洲欧美日韩国产综合精品二区 |
一区二区欧美在线观看 |
影音先锋日韩有码 |
妖精成人www高清在线观看 |
美日韩精品视频 |
国产精品wwwwww |
亚洲黄网站在线观看 |
欧美三级免费 |
亚洲国产精品毛片 |
在线国产日韩 |
亚洲一区在线视频 |
欧美人与性禽动交情品 |
亚洲欧美日韩综合 |
美女主播一区 |
久久国产精品99国产 |
久久久久久久一区二区三区 |
国产一区二区黄 |
一区二区三区国产精华 |
亚洲高清不卡在线 |
国产日韩欧美一区二区三区四区 |
久久久久久久久一区二区 |
久久久久国色av免费观看性色 |
一区电影在线观看 |
国产欧美一区二区三区沐欲 |
亚洲免费高清 |
亚洲一区三区视频在线观看 |
久热精品视频在线观看 |
亚洲免费在线看 |
国产亚洲一区二区三区在线观看
|
久久综合九色综合欧美狠狠 |
欧美一区二区三区日韩 |
国内精品写真在线观看 |
久久琪琪电影院 |
欧美在线视频二区 |
一区二区三区在线观看国产 |
国产精品视频免费观看www |
亚洲欧美中文在线视频 |
99国产成+人+综合+亚洲欧美 |
国产一级一区二区 |
久久久亚洲精品一区二区三区 |
久久久久久有精品国产 |
亚洲人成免费 |
狠狠色综合一区二区 |
免费在线看成人av |
亚洲校园激情 |
中文有码久久 |
国产亚洲精品福利 |
欧美日本韩国一区 |
久久久久国产精品一区二区 |
欧美三日本三级少妇三2023 |
欧美一级大片在线观看 |
欧美有码视频 |
99视频一区 |
欧美视频在线一区二区三区 |
亚洲综合日韩中文字幕v在线 |
老司机精品久久 |
亚洲免费高清视频 |
国产精品劲爆视频 |
久久久久五月天 |
亚洲一区二区三区精品视频 |
久久久www免费人成黑人精品 |
亚洲电影第1页 |
在线精品视频一区二区 |
国产一区二区三区在线观看免费视频 |
欧美国产精品v |
免费国产自线拍一欧美视频 |
欧美大片第1页 |
欧美久久九九 |
欧美午夜免费 |
国产精品久久久久久av下载红粉 |
国产精品视频大全 |
欧美三级电影网 |
国产日韩综合一区二区性色av |
国产精品私拍pans大尺度在线 |
另类国产ts人妖高潮视频 |
欧美亚洲一区二区在线观看 |
最近中文字幕mv在线一区二区三区四区 |
午夜影院日韩 |
久久免费国产精品1 |
久久电影一区 |
91久久在线 |
亚洲精品欧美 |
久久成人综合网 |
欧美黄色一区 |
欧美一区综合 |
伊人久久噜噜噜躁狠狠躁
|
国产精品揄拍一区二区 |
欧美一区二区视频在线 |
激情综合五月天 |
亚洲电影中文字幕 |
久久国产精品网站 |
亚洲精品久久 |
欧美黄色aa电影 |
国产亚洲欧美一区 |
中文国产亚洲喷潮 |
亚洲色图制服丝袜 |
另类专区欧美制服同性 |
亚洲第一精品电影 |
一本久道综合久久精品 |
洋洋av久久久久久久一区 |
亚洲欧美区自拍先锋 |
欧美日韩亚洲一区二 |
亚洲精品午夜精品 |
av不卡在线 |
亚洲欧美精品伊人久久 |
久久久噜噜噜久久中文字幕色伊伊
|
亚洲国产三级在线 |
久久精品国产2020观看福利 |
亚洲欧美区自拍先锋 |
久久精品色图 |
国产精品一区二区三区四区五区 |
亚洲免费精品 |
亚洲国产毛片完整版 |
亚洲综合社区 |
久久精品中文字幕免费mv |
欧美激情aaaa |
亚洲欧美日韩一区二区在线
|
国产精品国产a级 |
亚洲欧美激情视频 |
美女网站久久 |
午夜欧美视频 |
亚洲人成网在线播放 |
亚洲成色777777在线观看影院 |
欧美片网站免费 |
亚洲图片在线观看 |
久久久久久97三级 |
亚洲日本中文字幕区 |
亚洲激情小视频 |
国产精品成人一区二区网站软件
|
9i看片成人免费高清 |
欧美激情视频一区二区三区免费
|
欧美日韩高清在线观看 |
亚洲理论在线 |
亚洲乱亚洲高清 |
亚洲风情亚aⅴ在线发布 |
亚洲国产精品久久久久秋霞不卡 |
久久久久久综合 |
国产视频一区三区 |
亚洲福利视频免费观看 |
麻豆成人在线播放 |
久久久蜜桃精品 |
欧美日韩在线视频一区 |
亚洲国产小视频 |
亚洲国产成人精品视频 |
国产乱码精品1区2区3区 |
免费成人黄色 |
午夜精品av |
久久久欧美精品sm网站 |
日韩午夜三级在线 |
欧美在线视频一区二区 |
久久综合99re88久久爱 |
欧美日韩一级视频 |
欧美二区不卡 |
亚洲精品影视 |
久色婷婷小香蕉久久 |
欧美本精品男人aⅴ天堂 |
久久er99精品 |
伊人成人网在线看 |
久久婷婷国产综合国色天香 |