锘??xml version="1.0" encoding="utf-8" standalone="yes"?>免费在线成人,久久精品国产96久久久香蕉,欧美国产日韩一区二区三区http://m.shnenglu.com/snowball/once setback,once inspiration,once self-awareness<br> 閲嶈鐨勬槸榪欎釜紓ㄧ粌榪囩▼錛岃屼笉鏄粨鏋滐紝瑕佺殑鏄綘綺楀.鐨勮吙錛岃屼笉鏄綘韜笂鑳岀殑閭h鐩愬反zh-cnSun, 16 Nov 2025 23:13:41 GMTSun, 16 Nov 2025 23:13:41 GMT60 閾惰瀹剁畻娉?/title><link>http://m.shnenglu.com/snowball/archive/2008/07/06/55485.html</link><dc:creator>snowball</dc:creator><author>snowball</author><pubDate>Sun, 06 Jul 2008 14:16:00 GMT</pubDate><guid>http://m.shnenglu.com/snowball/archive/2008/07/06/55485.html</guid><wfw:comment>http://m.shnenglu.com/snowball/comments/55485.html</wfw:comment><comments>http://m.shnenglu.com/snowball/archive/2008/07/06/55485.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://m.shnenglu.com/snowball/comments/commentRss/55485.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/snowball/services/trackbacks/55485.html</trackback:ping><description><![CDATA[     鎽樿: reference ; http://www.yuanma.org/data/2008/0116/article_2945.htm綆楁硶鐨勫疄鐜?涓銆佸垵濮嬪寲 鐢辯敤鎴瘋緭鍏ユ暟鎹紝鍒嗗埆瀵瑰彲鍒╃敤璧勬簮鍚戦噺鐭╅樀AVAILABLE銆佹渶澶ч渶姹傜煩闃礛AX銆佸垎閰嶇煩闃礎LLOCATION銆侀渶姹傜煩闃礜EED璧嬪箋? 聽 浜屻侀摱琛屽綆楁硶 鍦ㄩ伩鍏嶆閿佺殑鏂規硶涓紝鎵鏂藉姞鐨勯檺鍒舵潯浠惰緝寮憋紝鏈夊彲鑳借幏寰椾護浜烘弧鎰忕殑緋葷粺鎬?..  <a href='http://m.shnenglu.com/snowball/archive/2008/07/06/55485.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/snowball/aggbug/55485.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/snowball/" target="_blank">snowball</a> 2008-07-06 22:16 <a href="http://m.shnenglu.com/snowball/archive/2008/07/06/55485.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>闈㈠悜瀵硅薄鐨勪笁涓熀鏈壒寰侊紙璁茶В錛?/title><link>http://m.shnenglu.com/snowball/archive/2008/07/01/55051.html</link><dc:creator>snowball</dc:creator><author>snowball</author><pubDate>Tue, 01 Jul 2008 08:10:00 GMT</pubDate><guid>http://m.shnenglu.com/snowball/archive/2008/07/01/55051.html</guid><wfw:comment>http://m.shnenglu.com/snowball/comments/55051.html</wfw:comment><comments>http://m.shnenglu.com/snowball/archive/2008/07/01/55051.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://m.shnenglu.com/snowball/comments/commentRss/55051.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/snowball/services/trackbacks/55051.html</trackback:ping><description><![CDATA[     鎽樿: 闈㈠悜瀵硅薄鐨勪笁涓熀鏈壒寰侊紙璁茶В錛? 闈㈠悜瀵硅薄鐨勪笁涓熀鏈壒寰佹槸錛氬皝瑁呫佺戶鎵褲佸鎬併? ...  <a href='http://m.shnenglu.com/snowball/archive/2008/07/01/55051.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/snowball/aggbug/55051.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/snowball/" target="_blank">snowball</a> 2008-07-01 16:10 <a href="http://m.shnenglu.com/snowball/archive/2008/07/01/55051.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鐢靛瓙涔︿笅杞?/title><link>http://m.shnenglu.com/snowball/archive/2008/04/11/46844.html</link><dc:creator>snowball</dc:creator><author>snowball</author><pubDate>Fri, 11 Apr 2008 08:04:00 GMT</pubDate><guid>http://m.shnenglu.com/snowball/archive/2008/04/11/46844.html</guid><wfw:comment>http://m.shnenglu.com/snowball/comments/46844.html</wfw:comment><comments>http://m.shnenglu.com/snowball/archive/2008/04/11/46844.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/snowball/comments/commentRss/46844.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/snowball/services/trackbacks/46844.html</trackback:ping><description><![CDATA[Inside Microsoft Dynamics AX 4.0 <a >Link</a><img src ="http://m.shnenglu.com/snowball/aggbug/46844.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/snowball/" target="_blank">snowball</a> 2008-04-11 16:04 <a href="http://m.shnenglu.com/snowball/archive/2008/04/11/46844.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍒濆鑰咃紝浣犲簲褰撳浣曞涔燙++浠ュ強緙栫▼http://m.shnenglu.com/snowball/archive/2008/04/06/46352.htmlsnowballsnowballSun, 06 Apr 2008 04:07:00 GMThttp://m.shnenglu.com/snowball/archive/2008/04/06/46352.htmlhttp://m.shnenglu.com/snowball/comments/46352.htmlhttp://m.shnenglu.com/snowball/archive/2008/04/06/46352.html#Feedback4http://m.shnenglu.com/snowball/comments/commentRss/46352.htmlhttp://m.shnenglu.com/snowball/services/trackbacks/46352.htmlJavaScript鏄笘鐣屼笂鏈鍙楄瑙g殑璇█錛屽叾瀹濩++浣曞皾涓嶆槸銆傚潑闂存祦浼犵殑閿欒鐨凜++瀛︿範鏂規硶涓鎶撳氨鏄竴澶ф妸銆傛垜鑷繁鍦ㄥ涔燙++鐨勮繃紼嬩腑涔熻蛋浜嗚澶氬集璺紝嫻垂浜嗕笉灝戞椂闂淬?/p>

銆銆涓轟粈涔堜細瀛樺湪榪欎箞澶氶敊璇璇?鍘熷洜涓昏鏈変笁涓紝涓鏄疌++璇█鐨勭粏鑺傚お澶氥備簩鏄竴浜涜憲鍚嶇殑C++涔︾睄鎬誨湪(涓嶇鏈夋剰榪樻槸鏃犳剰)鏆楃ず璇█緇嗚妭鐨勯噸瑕佹у拰鏈夎叮銆備笁鏄幇浠++搴撶殑寮鍙戝摬瀛﹀繀欏葷敤鍒頒竴浜涚妱瑙掓棶鏃殑璇█緇嗚妭(浣嗘敞鎰忥紝鏄簱璁捐錛屼笉鏄棩甯哥紪紼?銆傝繖浜涘叡鍚屽閫犱簡C++紺劇兢鐨勬暣浣撳績鎬佸拰鍝插銆?/p>

銆銆鍗曟槸絎竴鏉¤繕鏈繀鑳藉鎴愭皵鍊欙紝鍏跺畠璇█鐨勭粏鑺備篃涓嶅皯(灝界姣旇搗C++璧鋒潵榪樻槸灝忓帆瑙佸ぇ宸?錛屽氨鎷縥avascript鏉ヨ錛屼綔鐢ㄥ煙瑙勫垯錛屽悕瀛楁煡鎵撅紝closure錛宖or/in錛岃繖浜涢兘鏄粏鑺傦紝鑰屼笖鍏朵腑榪樻湁榪濆弽鐩磋鐨勩備絾璁稿鍔ㄦ佽璦鐨勭▼搴忓憳鐨勭悊蹇墊垜鐚滃ぇ綰︽槸瀛﹀埌鍝敤鍒板摢緗€備絾C++灝變笉涓鏍蜂簡錛屽C++涔嬩漢鏈変竴縐嶇被浼間簬琚殫紺虹殑娼滃湪蹇冩侊紝灝辨槸涓瀹氳鍏堟妸璇█鏍稿績鍩烘湰涓婂悆閫忎簡鎵嶈兘涓嬫墜鍐欏嚭婕備寒鐨勭▼搴忋傝繖棣栧厛灝遍敊浜嗐傝繖涓剰璇嗗艦鎴愮殑鍘熷洜鍦ㄧ浜岀偣錛孋++涔︾睄銆傚競闈笂鐨凜++涔︾睄涓嶈鍏舵暟錛屼絾鏈変竴涓叡鍚岀殑緙虹偣錛屽氨鏄璇█緇嗚妭鐨勪功澶鈥斺斻奀++ gotchas銆嬶紝銆奅ffective C++銆嬶紝銆奙ore Effective C++銆嬶紝浣嗘棤鍙帤闈炵殑鏄紝C++鏄繖鏍蜂竴闂ㄨ璦錛氳鎷垮畠婊¤凍鐜頒唬緙栫▼鐞嗗康鐨勯渶姹傦紝灝ゅ叾鏄疌++搴撳紑鍙戠殑闇姹傦紝榪樺繀欏誨緱鍏蟲敞璇█緇嗚妭錛屼箖鑷充簬鍦–++涓埄鐢ㄨ璦緇嗚妭宸茬粡鎴愪簡涓闂ㄥ闂傛瘮濡侰++妯℃澘鍦ㄨ璁′箣鍒濇牴鏈病鏈夋兂鍒版ā鏉垮厓緙栫▼榪欏洖浜嬶紝鏇存病鎯沖埌C++妯℃澘緋葷粺鏄浘鐏靛畬澶囩殑錛岃繖涔熷氨瀵艱嚧浜嗐奙odern C++ Design銆嬪拰銆奀++ Template Metaprogramming銆嬬殑鎯婁笘楠囦織銆?/p>

銆銆榪欎簺鎶鏈殑鍑虹幇涓轟粈涔堟儕涓栭獓淇楋紝鎵撲釜姣旀柟錛屽氨濂芥瘮鏄竴鍧楀ぇ瀹墮兘璁や負宸茬粡鐔熸倝鏃犳瘮錛屽啀鏃犵瀵嗗彲璦鐨勫湡鍦頒笂錛岀獊鐒舵煇澶╂湁浜烘寲鍒板師鏉ュ湴涓嬭繕钑磋棌鐫鏈涓板瘜鐨勭煶娌廣傚湪榪欎箣鍓嶇殑C++铏界劧涔熸湁涓浜涚粏鑺傦紝浣嗕篃榪樼畻瀹規槗鎺屾彙錛岄偅鍙槸C++紼嬪簭鍛樹滑鐨刪appy old times錛屽洜涓篊++鐨勪竴鍒囬兘涓瑙堟棤浣欙紝everything is figured out銆傜劧鑰屻奙odern C++ Design銆嬬殑鍑轟笘鍛婅瘔浜轟滑錛屸滅灖錛岃繕鏈夊灝戠粏鑺備綘浠病鏈夋帉鎻″晩銆傗濅簬鏄疌++紼嬪簭鍛樹滑涔呰繚鐨勬縺鎯呰閲嶇噧璧鋒潵錛屽涓嶉【韜殑韙忓叆緇嗚妭鐨勬布娉戒腑銆傚挨鍏舵槸錛屾ā鏉跨紪紼嬪皢C++鐨勭粏鑺傝繘涓姝ユ寲鎺樺埌浜嗘瀬鑷粹斺旀垜浠共鍢涘叧蹇冩秹鍙婄被瀵硅薄鐨勯殣寮忚漿鎹㈢殑浼樺厛綰ч珮浣?鐪嬬湅boost::is_base_of灝卞彲浠ョ煡閬撴湁澶氳寮備簡銆?/p>

銆銆浣嗘渶澶х殑闂榪樺湪浜庯紝瀵逛簬榪欎簺緇嗚妭鐨勫叧娉ㄨ繕鐪熸湁瀹冨悎閫傜殑鐞嗙敱錛氭垜浠寮鍙戠幇浠fā鏉垮簱錛岃寮鍙慳ctive library錛屽氨蹇呴』鍔ㄧ敤妯℃澘緙栫▼鎶鏈紝瑕佸姩鐢ㄦā鏉跨紪紼嬫妧鏈紝灝卞繀欏誨埄鐢ㄨ璦鐨勭妱瑙掓棶鏃紝enable_if錛宼ype_traits錛岀敋鑷寵繛鏃╁氨鍙や簳鏃犳嘗鐨凜瀹忎篃鍦ㄤ貢涓栦腑閲嶇敓錛岀湅鐪媌oost::preprocessor鏈夊璇″紓灝辯煡閬撲簡錛岃繛C瀹忕殑鍥劇伒瀹屽鎬?棰勭紪璇戞湡鐨?閮借鎸栨帢鍑烘潵浜嗐備負浠涔堣鍋氳繖浜?濂界帺?鏍囨?閮戒笉鏄紝寮鍙戝簱鐨勫疄闄呴渶姹傘備絾榪欎篃姝f槸鏈澶х殑鎮插搥浜嗐傚湪boost閲岄潰鍥犲疄闄呴渶姹傝屽姩鐢ㄨ璦緇嗚妭鏈緇堝眳鐒惰兘紲炲鐨勫畬鎴愪換鍔$殑鏈濂芥暀鏉愬氨鏄痓oost::foreach錛岃繖涓皬璁炬柦瀵硅璦緇嗚妭鐨勫彂鎺樿揪鍒頒簡鎯婂ぉ鍦版常楝肩鐨勫湴姝ワ紝涓嶄俊浣犲厛璇曠潃鑷繁鍘葷湅鐪嬪畠鐨勬簮浠g爜錛屽啀鐪嬬湅浣滆呬粙緇嶅畠鐨勬枃绔犲惂銆傝宐oost::typeof涔熶笉鐢樺叾鍚庘斺擟++璇█閲岄潰鏈夊お澶氳鈥滃彂鐜扳濊屼笉鏄鈥滃彂鏄庘濈殑鎶鏈傞毦閬撴渶鍒濇棤鎰忚緗繖浜涜璦瑙勫垯鐨勫浼欎滑閮芥槸Oracles?

銆銆鍥犱負娌℃湁variadic templates錛屼漢浠敤瀹忓姞涓婄己鐪佹ā鏉垮弬鏁版潵瀹炵幇綾諱技鏁堟灉銆傚洜涓烘病鏈塩oncepts錛屼漢浠敤妯℃澘鍔犱笂鏋愭瀯鍑芥暟鐨勭粏鑺傛潵瀹屾垚綾諱技宸ヤ綔銆傚洜涓烘病鏈塼ypeof錛屼漢浠敤妯℃澘鍏冪紪紼嬪拰瀹忓姞涓婃棤灝界殑緇嗚妭鏉ュ疄鐜扮洰鏍団?C++寮鍙戣呬滑鐨凞IY綺劇涓嶅彲璋撲笉寮恒?/p>

銆銆鐒惰岋紝濡傛灉浠呬粎鏄洜涓鴻寮鍙戜紭縐鐨勫簱錛岄偅涔堟秹鍙婅繖浜涚粏鑺傞兘榪樻槸鎯呮湁鍙師鐨勶紝鑷沖皯鍦–++09鍑虹幇騫朵笖緙栬瘧鍣ㄥ巶鍟嗚窡涓婁箣鍓嶏紝榪欎簺閮借繕鑳借鏄笉寰楀凡鑰屼負涔嬨備絾鎴戜滑騫垮ぇ鐨凜++紼嬪簭鍛樺憿?澶т紬鏄鏄撹璇鐨勶紝鎴戜篃鏇劇粡鏄備互涓烘帉鎻′簡鏇村鐨勮璦緇嗚妭灝辨洿鐗涳紝浣嗗疄闄呭嵈鏄偅浜涜璦緇嗚妭鍗佹湁鍏節鏄鉤鏃剁紪紼嬬敤閮界敤涓嶅埌鐨勩侰++涓紬澶氱殑緇嗚妭铏界劧鍦ㄥ簱璁捐鑰呮墜閲岄潰鏈夊叾鐢ㄦ涔嬪湴錛屼絾鏅氱▼搴忓憳鍒欐牴鏈棤闇榪囧鍏蟲敞錛屽挨鍏舵槸娌℃湁瀹為檯鍔ㄦ満鐨勫叧娉ㄣ備竴鑸х殑緙栫爜瀹炶返鍑嗗垯錛屼互鍙婂熀鏈殑緙栫▼鑳藉姏鍜屽熀鏈姛錛屼箖鑷沖熀鏈殑紼嬪簭璁捐鐞嗚浠ュ強綆楁硶璁捐銆傛墠鏄湡姝i渶瑕佽姳鏃墮棿鎺屾彙鐨勪笢瑗褲?/p>

銆銆瀛︿範鏈浣崇紪鐮佸疄璺墊瘮瀛︿範C++鏇撮噸瑕併傜湅浼樼鐨勪唬鐮佷篃姣斿煁澶寸敤宸姴鐨勭紪鐮佹柟寮忓啓鍨冨溇浠g爜瑕佹湁鏁堛傜洿鎺ャ佹竻鏅般佹槑浜嗐並ISS鍦拌〃杈炬剰鍥炬瘮鐜╃紪鐮佽姳鎷涜閲嶈鈥?/p>

銆銆閬垮厤鍘昏繃闂換浣曡璦緇嗚妭錛岄櫎闈炲繀瑕併傝繖涓繀瑕佹槸鎸囧湪瀹為檯緙栫▼褰撲腑閬囧埌闂錛岃繖鏍峰氨綆楅渶瑕佽繃闂粏鑺傦紝涔熸槸鏈鐪佷簨鐨勶紝鎳掓儼鑰呭師鍒欏槢銆備竴涓帉鎻′簡鍩烘湰鐨勭紪紼嬬悊蹇靛茍鏈夎緝寮哄涔犺兘鍔涚殑紼嬪簭鍛樺湪鐢ㄤ竴闂ㄩ檶鐢熺殑璇█緙栫▼鏃跺氨綆楁嬁鐫閭f湰璇█鐨勫湥緇忎粠绱㈠紩緲昏搗涔熷彲浠ョ紪鍑哄悎鏍肩殑紼嬪簭鏉ャ傚崄騫村浼氱紪紼嬩笉鏄寚瀵規瘡闂ㄨ璦閮藉緱鍗佸勾錛岄偅涓杈堝瓙鎵嶈兘瀛﹀嚑闂ㄨ璦鍝紝濡傛灉鎸夊瓧姣嶉『搴忓鐨勮瘽涓杈堝瓙閮藉埆鎸囨湜瀛﹀埌Ruby浜?鍗佸勾瀛︿範緙栫▼鏇翠笉鏄寚鍏堟妸璇█鐗規т粠綺楀埌緇嗗叏閮藉悆閫忔墠鏁笅鎵嬬紪紼嬶紝鍦ㄥ疄璺典腑鎻愰珮鎵嶆槸鏈閲嶈鐨勩?/p>

銆銆鑷充簬榪欑鎶犺璦緇嗚妭鐨勫摬瀛︿負浣曡兘鍦ㄧぞ緹ら噷闈㈠憟閲庣伀鐕庡師涔嬪娍錛屽氨鏄竴涓績鐞嗗鐨勯棶棰樹簡銆傛兂鍍忎漢浠湪璁哄潧涓婅璁洪棶棰樻椂錛屼竴涓璇█鎶婃彙寰堢粏鑷寸殑浜鴻偗瀹氳兘澶熷緱鍒版洿澶氱殑浣╂湇錛岃岀敱浜庤鍧涗笂鐨勯棶棰樺ぇ澶氭槸灝忛棶棰橈紝鎵浠ヨВ鍐沖疄闄呴棶棰樼殑鐪熸鑳藉姏騫朵笉鑳藉緱鍒版樉鐜幫紝涔熷氨鏄錛岀煡璇嗗瀷鐨勪漢鑳藉寰楀埌鏇村浣╂湇錛屽悗鑰呬究鎴愪負鍔ㄥ姏鍜屼豢鏁堢殑鐮濈爜銆傜劧鑰岀湡姝g殑緙栫▼鑳藉姏鏄笌璇█緇嗚妭娌″叧緋葷殑錛岀啛緇冭繍鐢ㄤ竴闂ㄨ璦鑳藉甯綘鏈浣寵〃杈句綘鐨勬剰鍥撅紝浣嗙啛緇冭繍鐢ㄤ竴闂ㄨ璦緇濅笉鎰忓懗鐫瑕佹妸瀹冪殑杈硅竟瑙掕鍏ㄩ兘璁頒綇銆傛噦寰椾竴浜涘父璇嗭紝鏈変簡緙栫▼鐨勫熀鏈洿瑙夛紝閬囧埌涓浜涚粏鑺傞敊璇殑鏃跺欏啀鍘繪煡涔︼紝鏄渶鑺傜渷鏃墮棿鐨勫姙娉曘?/p>

銆銆C++鐨勪功錛孊jarne鐨勫湥緇忋奣he C++ Programming Language銆嬫槸楂樺眿寤虹摯鐨勩傘婂ぇ瑙勬āC++紼嬪簭璁捐銆嬫槸鎸哄姟瀹炵殑銆傘夾ccelerated C++銆嬫槸鏈浣沖叆闂ㄧ殑銆傘奀++ Templates銆嬫槸浠呬綔鍙傝冪殑銆傘奀++ Template Metaprogramming銆嬫槸綺懼姏榪囧墿鑰呭彲浠ョ帺涓鐜╃殑錛屾櫘閫氱▼搴忓憳紕伴兘鍒鐨勩傘奍SO.IEC C++ Standard 14882銆嬩笉鏄嬁鏉ヨ鐨勩侭jarne鏈榪戝湪鍋欳++鐨勬暀鑲詫紝鏂頒功鏄粷瀵瑰彲浠ユ湡寰呯殑銆?/p>

銆銆P.S. 鍏充簬濡備綍瀛︿範緙栫▼錛実9鐨刡log涓婃湁璁稿綺懼僵鐨勬枃绔狅細榪欓噷錛岃繖閲岋紝榪欓噷錛岃繖閲屸?瀹為檯涓婏紝鎴戝緩璁綘鍘繪妸g9鑰佸ぇ鐨刡log緲諱釜搴曟湞澶?:P

銆銆鍐峆.S. 涔﹀崟?鎴戞槸閬戜簬緇欏嚭涓涓被浼箋奀++鍒濆鑰呭繀璇匯嬭繖縐嶄功鍗曠殑銆侰++鐨勪功涓嶈鍏舵暟錛岃鍏鐨勫ソ涔︿篃涓嶈儨鏋氫婦銆傚彧涓嶈繃鏈変簺涔﹀鏄撶粰鍒濆鑰呴犳垚涓縐嶉敊瑙夛紝灝辨槸鈥滃涔燙++灝卞簲璇ユ槸榪欎釜鏍峰瓙鐨勨濄傛瘮濡傛湁鏈嬪弸鎻愬埌鐨勩婇珮璐ㄩ噺C/C++緙栫▼銆嬶紝榪欐湰涔︽湁浠峰鹼紝浣嗕笉閫傚悎鍒濆鑰咃紝鍒濆鑰呰榪欐牱鐨勪功瀹規槗涓鍙墮殰鐩笉瑙佹嘲灞便傚疄闄呬笂錛屾紜殑鎬佸害鏄紝緇嗚妭鏄繀瑕佺殑銆備絾緇嗚妭鏄瑕佺殑銆傚叾瀹炲涔犵紪紼嬫垜瑙夊緱搴旇鏈鍏堝涔犲浣曠敤浼爜琛ㄨ揪鎬濇兂鍛紝鍚涗笉瑙併奍ntroduction to Algorithm銆嬮噷闈㈢殑浠g爜?銆奣AOCP銆嬩腑鐨勪唬鐮?鍝︼紝瀵逛簡瀹冧滑鏄嚜宸卞緩绔嬬殑璇█錛屼絾榪欑浠呮暀瀛︾洰鐨勭殑璇█鐨勭洰鐨勫氨鏄負浜嗛伩鍏嶈鍐欑▼搴忕殑浜轟竴寮濮嬪氨蹇樹簡鍐欑▼搴忔槸涓轟簡瀹屾垚鍔熻兘錛屼互涓哄啓紼嬪簭灝辨槸鍜岃璦緇嗚妭浣滄枟浜変簡銆侭jarne璇寸▼搴忕殑姝g‘鎬ф渶閲嶈錛宐oost鐨勭紪鐮佹爣鍑嗛噷闈篃灝嗘紜у垪鍦ㄦц兘鍓嶉潰銆?/p>

銆銆姝ゅ錛屼竴鏃﹀緩绔嬩簡姝g‘鐨勫涔犵紪紼嬬殑鐞嗗康錛屽叾瀹炰粈涔堜功(鍙涓嶆槸澶瀮鍦劇殑)閮芥湁浜涚敤澶勩傞兘褰撴垚鍙傝冧功錛岀敤鐨勬椂鍊欎粠鐩綍鎴栫儲寮曠炕錛屽熀鏈氨瀵逛簡銆?/p>

銆銆鍐嶅啀P.S. myan鑰佸ぇ鍜実9鑰佸ぇ閮界粰鍑轟簡璁稿綺懼僵鐨勮瑙c傛垜涓嶅緱涓嶅啀鍔犱笂涓涓狿.S銆傚叿浣撴垜灝變笉鎽樺綍浜嗭紝濡傛灉浣犺鍒拌繖閲岋紝璇峰姟蹇呭線涓嬬湅浠栦滑鐨勮瘎璁恒傝漿杞借呭埆蹇樹簡杞澆浠栦滑鐨勮瘎璁?-)

銆銆璁稿鏈嬪弸閮介棶鎴戝悓涓涓棶棰橈紝鍒板簳瑕佷笉瑕佸涔燙++銆傚叾瀹炶繖涓棶棰橀棶寰楀緢娌℃湁鎰忎箟銆傗滃C++鈥濆拰鈥滀笉瀛++鈥濊繖涓簩鍒嗘硶鏄病鎰忎箟鐨勶紝涓轟粈涔?鍥犱負榪欎釜闂寰堣〃闈紝鐢氳嚦寰堟誕韜併傞噸瑕佺殑涓嶆槸浣犳帉鎻$殑璇█錛岃屾槸浣犳帉鎻$殑鑳藉姏錛屽熺敤myan鑰佸ぇ鐨勮瘽錛屸滈噸瑕佺殑鏄繖涓(緇冭繃紼嬶紝鑰屼笉鏄粨鏋滐紝瑕佺殑鏄綘綺楀.鐨勮吙錛岃屼笉鏄綘韜笂鑳岀殑閭h鐩愬反銆傗濄傛澶栧涔燙++鐨勬剰涔夊叾瀹炵湡鐨勬槸閱夌縼涔嬫剰涓嶅湪閰掞紝鍍廋/C++榪欑緋葷粺綰ц璦錛屽湪瀛︿範鐨勮繃紼嬩腑蹇呴』瑕佹秹鍙婂埌涓浜涘簳灞傜煡璇嗭紝濡傚唴瀛樼鐞嗐佺紪璇戣繛鎺ョ郴緇熴佹眹緙栬璦銆佺‖浠朵綋緋葷粨鏋勭瓑絳夌瓑絳夌煡璇?娉ㄦ剰錛岃繖涓嶅寘鎷繃鍒嗙妱瑙掓棶鏃殑璇█鏋濊妭)銆傝繖浜涗笢瑗夸篃灝辨槸鎵璋撶殑鍐呭姛浜?鍏跺疄鏈鏈閲嶈鐨勫唴鍔熻繕鏄暱鏈熷涔犳墍紓ㄧ粌鍑烘潵鐨勮嚜瀛﹁兘鍔?銆傚姝ゅぇ鍢碕oel鍦ㄣ奐oel On Software銆嬮噷闈㈡彁鍒扮殑婕忔礊鎶借薄瀹氬緥闃愯堪寰楀氨闈炲父婕備寒銆?/p>

銆銆鎵浠ワ紝絳旀鏄紝璁╀綘鎴愪負楂樻墜鐨勫茍涓嶆槸浣犳帉鎻′粈涔堣璦錛岀簿閫欳++鏈繀灝辮兘璁╀綘鎴愪負楂樻墜錛屼笉綺鵑欳++涔熸湭蹇呭氨鑳借浣犳垚涓轟綆鎵嬨傛垜鎯沖ぇ瀹墮兘涓嶄細鎬鐤慻9鑰佸ぇ濡傛灉瑕佹妱璧稢++鍋氫竴涓」鐩殑璇濅細姣斿ぇ澶氭暟鑷鐔熺粌C++鐨勪漢瑕佸仛寰楁紓浜傛墍浠ュ叧閿殑涓嶆槸璇█榪欎釜琛ㄥ眰鐨勪笢瑗匡紝鑰屾槸搴曚笅鐨勬湰璐ㄧ煕鐩俱傚綋鐒訛紝涓嶆槸璇撮偅灝變粈涔堣璦閮戒笉瑕佸浜嗭紝鎸夌収涓縐嶆浌鎿嶇殑閫昏緫錛屸滃ぉ涓嬭璦錛屽敮imperative涓巇eclarative鑰斥濄侰++鏄墠鑰呴噷闈㈡渶澶嶆潅鐨勪竴縐嶏紝鏀寔鏈騫挎硾鐨勭紪紼嬭寖寮忋傚熺敤褰撳垵鏁板緋誨叆瀛﹀ぇ浼氫笂涓涓佸笀鐨勮瘽錛屸滀綘鏁板閮藉浜嗭紝榪樻湁浠涔堜笉鑳藉鐨勫憿?鈥濄傚璇█鏄竴涓斿緞錛屽鏋滀綘鎶婂畠鐢ㄦ潵紓ㄧ粌鑷繁錛屽彲浠ャ傚鏋滀綘鎶婂畠鐢ㄦ潵浣滀負瀛︿範緋葷粺搴曞眰鐭ヨ瘑鐨勯挜鍖欙紝鍙互銆傚鏋滀綘鎶婂畠鐢ㄦ潵浣滀負瀛︿範濡備綍緙栧啓浼樼鐨勪唬鐮侊紝濡備綍緇勭粐澶у瀷鐨勭▼搴忥紝濡備綍榪涜鎶借薄璁捐錛屽彲浠ャ傚鏋滄帀涔﹁錛屽厜鍟冪粏鑺傦紝鎴戣涓轟笉鍙互(闄ら潪浣犲繀欏昏鐢ㄥ埌緇嗚妭錛屽儚boost搴撶殑coder浠?銆?/p>

鐒跺悗鍐嶅熺敤涓涓媑9鑰佸ぇ鐨勩婇摱寮瑰拰鎴戜滑鐨勮亴涓氥嬩腑鐨勮瘽錛?/p>

銆銆閾跺脊鍜屾垜浠殑鑱屼笟鍙戝睍鏈変粈涔堢浉騫?寰堢畝鍗曪細鎴戜滑寰楁妸鏃墮棿鐢ㄤ簬瀛︿範瑙e喅鏈川鍥伴毦銆傛柊鎶鏈粰楂樻墜甯︽潵鏂逛究銆傝彍楦熶滑鍗翠笉鐢ㄦ寚鏈涜鏂版妧鏈嫰鏁戙傛部鐢ㄤ互鍓嶇殑姣斿柣錛?涓嫻佺殑鎽勫獎甯堜笉浼氬洜涓虹浉鏈虹殑鏇存柊鎹唬鑰屼涪鎺夐キ紕楋紝鍙嶈屽彲鑳藉熷姪鍏堣繘鎶鏈暀涓嬩紶涓栦匠浣溿傚洜涓烘憚褰辯殑鏈川鍥伴毦錛岃繕鏄憚褰卞笀鐨勮壓鏈劅瑙夈傜儹闂ㄦ妧鏈篃灝辯瓑浜庣浉鏈恒?涓嶅仠榪芥柊錛屽涔犺繖涓鏋訛紝閭d釜杞歡錛屽ソ姣旀垚澶╅捇鐮斾笉鍚岀浉鏈虹殑璇存槑涔︺傝岀儹闂ㄦ妧鏈悗鐨勬潵榫欏幓鑴夛紝鎵嶅ソ姣旀憚褰辨妧鏈備負浠涔堟帹鍑鴻繖涓鏋?瀹冭В鍐充簡浠涔堝叾瀹冩鏋?涓嶈兘瑙e喅鐨勯棶棰?瀹冨湪鍝噷閫傜敤?瀹冨湪鍝噷涓嶉傜敤?瀹冪敤浜嗕粈涔堟柊鐨勮璁?瀹冩敼榪涗簡鍝簺鏃х殑璁捐?Why is forever. 鍜?鏈嬪弸鑱婂ぉ鏃舵彁鍒癝teve McConnell鐨勩奝rofessional Software Development銆嬮噷闈㈠紩浜嗕竴涓皟鏌ワ紝璇磋蔣浠跺紑鍙戞妧鏈殑鍗婅“鏈?0騫淬備篃灝辨槸璇?0騫村悗鎴戜滑鐜板湪鐭ヨ瘑閲屼竴鍗婄殑涓滆タ榪囨椂銆傜浉褰撲笉鍧忋傛湅鍙嬫墦瓚i亾錛氣滃簲 璇ヨ20騫村悗IT鐣屼竴鍗婄殑鎶鏈繃鏃訛紝鎴戜滑瀛︾殑榪囨椂鎶鏈繙榪滆秴榪囪繖涓瘮渚嬨傚叿浣撳埌鏌愪漢錛屽緢鍙兘5騫翠粬灝卞簾浜嗏濄傝瘽铏芥偛瑙傦紝浣嗗彲瑙侀夋嫨瀛︿範鍐呭鐨勯噸瑕佹с傚涔?鏈川鎶鑹?鎶鏈繜鏃╄繃鏃訛紝鎶鑹哄嵈甯哥敤闀挎柊)榪樻湁涓濂藉錛屽氨鏄笉鐢ㄧ湅鐫鑷繁蹇冪埍鐨勬妧鏈彈鍒版寫鎴樼殑鏃跺欏共鍤庛侰/C++榪囨椂灝辮繃鏃朵簡鍛楋紝鍙鏈夊叾瀹冪殑緋葷粺緙栫▼ 璇█銆侸ava鍊掍簡灝卞掍簡鍛楋紝鏈繀鎴戜笉鑳界敤.net?Ruby鏄欒姳涓鐜板張濡備綍銆傚鏋滅敤寰椾笉鐖斤紝鎹㈠埌鍏跺畠鍔ㄦ佽璦灝辨槸浜嗐侸2EE琚簾浜嗗張鎬庢牱?鏈繀鎴戜滑灝?鍋氫笉鍑哄垎甯冪郴緇熶簡?榪欓噷榪樹婦浜嗘洿澶氱殑渚嬪瓙銆?/p>

銆銆涓鍙ヨ瘽錛屽彧鏈変漢鏄湡姝g殑閾跺脊銆傝亴涓氬彂灞曠殑鐩爣錛屽氨鏄妸鑷繁鍙樻垚閾跺脊銆傞偅鏃跺欙紝浣犲氨涓嶅啀鏄漢錛岃屾槸浜哄脊銆?/p>

銆銆鏈鍚庡氨浠ユ垜鍦˙jarne鐨勪紬澶氳璋堝綋涓憳褰曠殑涓浜涘叧浜庡浣曞涔燙++(浠ュ強緙栫▼)鐨勭湅娉曠粨鏉熷惂(娌$┖閫愭緲昏瘧浜嗭紝鍙皢鍏朵腑鎴戣寰楁渶閲嶈鐨勫嚑孌佃瘧浜嗕竴涓嬶紝褰撶劧錛屽叾瀹冧篃寰堥噸瑕侊紝榪欎簺孌佃惤鏄湪Bjarne鐨勬墍鏈夐噰璁跨ǹ涓憳鎶勫嚭鏉ョ殑錛屾墍浠ュ己鐑堝緩璁兘榪囩洰涓涓?錛?/p>

銆銆I suspect that people think too little about what they want to build, too little about what would make it correct, and too much about "efficiency" and following fashions of programming style. The key questions are always: "what do I want to do?" and "how do I know that I have done if?". Strategies for testing enters into my concerns from well before I write the firat line of code, and that despite my view that you have to write code very early - rather than wait until a design is complete.

銆銆璇戯細鎴戞劅瑙変漢浠繃澶氬叧娉ㄤ簡鎵璋撯滄晥鐜団濅互鍙婅窡闅忕紪紼嬮鏍肩殑娼祦錛屽嵈涓ラ噸蹇借浜嗘湰涓嶈琚拷瑙嗙殑闂錛屽鈥滄垜絀剁珶鎯寵鏋勫緩浠涔堟牱鐨勭郴緇熲濄佲滄庢牱鎵嶈兘浣垮畠姝g‘鈥濄傛渶鍏抽敭鐨勯棶棰樻案榪滄槸錛氣滄垜絀剁珶鎯寵鍋氫粈涔?鈥濆拰鈥滃浣曟墠鑳界煡閬撴垜鐨勭郴緇熸槸鍚﹀凡緇忓畬鎴愪簡鍛?鈥濆氨鎷挎垜鏉ヨ鍚э紝鎴戜細鍦ㄧ紪鍐欑涓琛屼唬鐮佷箣鍓嶅氨鑰冭檻嫻嬭瘯鏂規錛岃屼笖榪欒繕鏄湪鎴戝叧浜庡簲褰撴棭浜庤璁″畬鎴愪箣鍓嶅氨榪涜緙栫爜鐨勮鐐圭殑鍓嶆彁涔嬩笅銆?/p>

銆銆Obviously, C++ is very complex. Obviously, people get lost. However, most peple get lost when they get diverted into becoming language lawyers rather than getting lost when they have a clear idea of what they want to express and simply look at C++ language features to see how to express it. Once you know data absreaction, class hierarchies (object-oriented programming), and parameterization with types (generic programming) in a fairly general way, the C++ language features fall in place.

銆銆璇戯細璇氱劧錛孋++闈炲父澶嶆潅銆傝瘹鐒訛紝浜轟滑榪峰け鍏朵腑浜嗐傜劧鑰岄棶棰樻槸錛屽ぇ澶氭暟浜轟笉鏄洜涓洪鍏堝鑷繁鎯寵琛ㄨ揪浠涔堟湁浜嗘竻鏅扮殑璁よ瘑鍙笉榪囧湪鍘籆++璇█涓悳瀵誨悎閫傜殑璇█鐗規ф椂榪峰け鐨勶紝鐩稿弽錛屽ぇ澶氭暟浜烘槸鍦ㄤ笉瑙夋垚涓鴻璦寰嬪笀鐨勮礬涓婅糠澶卞湪緇嗚妭鐨勪笡鏋椾腑鐨勩備簨瀹炴槸錛屽彧闇瀵規暟鎹娊璞°佺被浣撶郴緇撴瀯(OOP)浠ュ強鍙傛暟鍖栫被鍨?GP)鏈変竴涓浉褰撲竴鑸眰闈㈢殑浜嗚В錛孋++綰風箒鐨勮璦鐗規т篃灝辨竻鏅拌搗鏉ヤ簡銆?/p>

銆銆Well, I don't think I made such a trade-off. I want elegant and efficient code. Sometimes I get it. These dichotomies (between efficiency versus correctness, efficiency versus programmer time, efficiency versus high-level, et cetera.) are bogus.

銆銆I think the real problem is that "we" (that is, we software developers) are in a permanent state of emergency, grASPing at straws to get our work done. We perform many minor miracles through trial and error, excessive use of brute force, and lots and lots of testing, but--so often--it's not enough.

銆銆Software developers have become adept at the difficult art of building reasonably reliable systems out of unreliable parts. The snag is that often we do not know exactly how we did it: a system just "sort of evolved" into something minimally acceptable. Personally, I prefer to know when a system will work, and why it will.

銆銆There are more useful systems developed in languages deemed awful than in languages praised for being beautiful--many more. The purpose of a programming language is to help build good systems, where "good" can be defined in many ways. My brief definition is, correct, maintainable, and adequately fast. Aesthetics matter, but first and foremost a language must be useful; it must allow real-world programmers to express real-world ideas succinctly and affordably.

銆銆I'm sure that for every programmer that dislikes C++, there is one who likes it. However, a friend of mine went to a conference where the keynote speaker asked the audience to indicate by show of hands, one, how many people disliked C++, and two, how many people had written a C++ program. There were twice as many people in the first group than the second. Expressing dislike of something you don't know is usually known as prejudice. Also, complainers are always louder and more certain than proponents--reasonable people acknowledge flaws. I think I know more about the problems with C++ than just about anyone, but I also know how to avoid them and how to use C++'s strengths.

銆銆In any case, I don't think it is true that the programming languages are so difficult to learn. For example, every first-year university biology textbook contains more details and deeper theory than even an expert-level programming-language book. Most applications involve standards, operating systems, libraries, and tools that far exceed modern programming languages in complexity. What is difficult is the appreciation of the underlying techniques and their application to real-world problems. Obviously, most current languages have many parts that are unnecessarily complex, but the degree of those complexities compared to some ideal minimum is often exaggerated.

銆銆We need relatively complex language to deal with absolutely complex problems. I note that English is arguably the largest and most complex language in the world (measured in number of words and idioms), but also one of the most successful.

銆銆C++ provides a nice, extended case study in the evolutionary approach. C compatibility has been far harder to maintain than I or anyone else expected. Part of the reason is that C has kept evolving, partially guided by people who insist that C++ compatibility is neither necessary nor good for C. Another reason-- probably even more important--is that organizations prefer interfaces that are in the C/C++ subset so that they can support both languages with a single effort. This leads to a constant pressure on users not to use the most powerful C++ features and to myths about why they should be used "carefully," "infrequently," or "by experts only." That, combined with backwards-looking teaching of C++, has led to many failures to reap the potential benefits of C++ as a high-level language with powerful abstraction mechanisms.

銆銆The question is how deeply integrated into the application those system dependencies are. I prefer the application to be designed conceptually in isolation from the underlying system, with an explicitly defined interface to "the outer world," and then integrated through a thin layer of interface code.

銆銆Had I had a chance to name the style of programming I like best, it would have been "class-oriented programming", but then I'm not particularly good at finding snappy names. The school of thought that I belong to - rooted in Simula and related design philosophies - emphasizes the role of compile-time checking and flexible (static) type systems. Reasoning about the behavior of a program has to be rooted in the (static) structure of the source code. The focus should be on guarantees, invariant, etc. which are closely tied to that static structure. This is the only way I know to effectively deal with correctness. Testing is essential but cannot be systematic and complete without a good internal program structure - simple-minded blackbox testing of any significant system is infeasible because of the exponential explosion of states.

銆銆So, I recommend people to think in terms of class invariants, exception handling guarantees, highly structured resource management, etc. I should add that I intensely dislike debugging (as ah hoc and unsystematic) and strongly prefer reasoning about source code and systematic testing.

銆銆Pros: flexibility, generality, performance, portability, good tool support, available on more platforms than any competitor except C, Access to hardware and system resources, good availability of programmers and designers. Cons: complexity, sub-optimal use caused by poor teaching and myths.



snowball 2008-04-06 12:07 鍙戣〃璇勮
]]>
C++涓殑鍐呭瓨鍒掑垎http://m.shnenglu.com/snowball/archive/2008/04/06/46351.htmlsnowballsnowballSun, 06 Apr 2008 04:02:00 GMThttp://m.shnenglu.com/snowball/archive/2008/04/06/46351.htmlhttp://m.shnenglu.com/snowball/comments/46351.htmlhttp://m.shnenglu.com/snowball/archive/2008/04/06/46351.html#Feedback1http://m.shnenglu.com/snowball/comments/commentRss/46351.htmlhttp://m.shnenglu.com/snowball/services/trackbacks/46351.html鍦–++涓紝鍐呭瓨鍒嗘垚5涓尯錛屼粬浠垎鍒槸鍫嗐佹爤銆佽嚜鐢卞瓨鍌ㄥ尯銆佸叏灞/闈欐佸瓨鍌ㄥ尯鍜屽父閲忓瓨鍌ㄥ尯銆?/p>

銆銆鏍堬紝灝辨槸閭d簺鐢辯紪璇戝櫒鍦ㄩ渶瑕佺殑鏃跺欏垎閰嶏紝鍦ㄤ笉闇瑕佺殑鏃跺欒嚜鍔ㄦ竻妤氱殑鍙橀噺鐨勫瓨鍌ㄥ尯銆傞噷闈㈢殑鍙橀噺閫氬父鏄眬閮ㄥ彉閲忋佸嚱鏁板弬鏁扮瓑銆?/p>

銆銆鍫嗭紝灝辨槸閭d簺鐢眓ew鍒嗛厤鐨勫唴瀛樺潡錛屼粬浠殑閲婃斁緙栬瘧鍣ㄤ笉鍘葷錛岀敱鎴戜滑鐨勫簲鐢ㄧ▼搴忓幓鎺у埗錛屼竴鑸竴涓猲ew灝辮瀵瑰簲涓涓猟elete銆傚鏋滅▼搴忓憳娌℃湁閲婃斁鎺夛紝閭d箞鍦ㄧ▼搴忕粨鏉熷悗錛屾搷浣滅郴緇熶細鑷姩鍥炴敹銆?/p>

銆銆鑷敱瀛樺偍鍖猴紝灝辨槸閭d簺鐢眒alloc絳夊垎閰嶇殑鍐呭瓨鍧楋紝浠栧拰鍫嗘槸鍗佸垎鐩鎬技鐨勶紝涓嶈繃瀹冩槸鐢╢ree鏉ョ粨鏉熻嚜宸辯殑鐢熷懡鐨勩?/p>

銆銆鍏ㄥ眬/闈欐佸瓨鍌ㄥ尯錛屽叏灞鍙橀噺鍜岄潤鎬佸彉閲忚鍒嗛厤鍒板悓涓鍧楀唴瀛樹腑錛屽湪浠ュ墠鐨凜璇█涓紝鍏ㄥ眬鍙橀噺鍙堝垎涓哄垵濮嬪寲鐨勫拰鏈垵濮嬪寲鐨勶紝鍦–++閲岄潰娌℃湁榪欎釜鍖哄垎浜嗭紝浠栦滑鍏卞悓鍗犵敤鍚屼竴鍧楀唴瀛樺尯銆?/p>

銆銆甯擱噺瀛樺偍鍖猴紝榪欐槸涓鍧楁瘮杈冪壒孌婄殑瀛樺偍鍖猴紝浠栦滑閲岄潰瀛樻斁鐨勬槸甯擱噺錛屼笉鍏佽淇敼(褰撶劧錛屼綘瑕侀氳繃闈炴褰撴墜孌典篃鍙互淇敼錛岃屼笖鏂規硶寰堝)



snowball 2008-04-06 12:02 鍙戣〃璇勮
]]>
Memset ,memcpy,strcpy 鍖哄埆http://m.shnenglu.com/snowball/archive/2008/04/06/46345.htmlsnowballsnowballSun, 06 Apr 2008 02:31:00 GMThttp://m.shnenglu.com/snowball/archive/2008/04/06/46345.htmlhttp://m.shnenglu.com/snowball/comments/46345.htmlhttp://m.shnenglu.com/snowball/archive/2008/04/06/46345.html#Feedback0http://m.shnenglu.com/snowball/comments/commentRss/46345.htmlhttp://m.shnenglu.com/snowball/services/trackbacks/46345.html Memset 鐢ㄦ潵瀵逛竴孌靛唴瀛樼┖闂村叏閮ㄨ緗負鏌愪釜瀛楃錛屼竴鑸敤鍦ㄥ瀹氫箟鐨勫瓧絎︿覆榪涜鍒濆鍖栦負 鈥?鈥?/span> 鎴?/span> 鈥榎0鈥?/st1:chmetcnv> 錛?/span>

渚?/span> :char a[100];memset(a, '\0', sizeof(a));

聽聽聽 memset 鍙互鏂逛究鐨勬竻絀轟竴涓粨鏋勭被鍨嬬殑鍙橀噺鎴栨暟緇勩?/span>

濡傦細

struct sample_struct
{
char csName[16];
int iSeq;
int iType;
};

瀵逛簬鍙橀噺
struct sample_strcut stTest;

涓鑸儏鍐典笅錛屾竻絀?/span> stTest 鐨勬柟娉曪細

stTest.csName[0]='\0';
stTest.iSeq=0;
stTest.iType=0;

鐢?/span> memset 灝遍潪甯告柟渚匡細
memset(&stTest,0,sizeof(struct sample_struct));

濡傛灉鏄暟緇勶細

struct sample_struct TEST[10];
鍒?/span>
memset(TEST,0,sizeof(struct sample_struct)*10);

memcpy 鐢ㄦ潵鍋氬唴瀛樻嫹璐濓紝浣犲彲浠ユ嬁瀹冩嫹璐濅換浣曟暟鎹被鍨嬬殑瀵硅薄錛屽彲浠ユ寚瀹氭嫹璐濈殑鏁版嵁闀垮害銆?/span>

渚嬶細 char a[100],b[50]; memcpy(b, a, sizeof(b)); 娉ㄦ剰濡傜敤 sizeof(a) 錛屼細閫犳垚 b 鐨勫唴瀛樺湴鍧婧㈠嚭銆?/span>

Strcpy聽聽 灝卞彧鑳芥嫹璐濆瓧絎︿覆浜嗭紝瀹冮亣鍒?/span> '\0' 灝辯粨鏉熸嫹璐濄?/span>

渚嬶細 char a[100],b[50];strcpy(a,b); 濡傜敤 strcpy(b,a) 錛岃娉ㄦ剰 a 涓殑瀛楃涓查暱搴︼紙絎竴涓?/span> 鈥榎0鈥?/st1:chmetcnv> 涔嬪墠錛夋槸鍚﹁秴榪?/span> 50 浣嶏紝濡傝秴榪囷紝鍒欎細閫犳垚 b 鐨勫唴瀛樺湴鍧婧㈠嚭銆?/span>

str 涔熷彲浠ョ敤鐢ㄤ釜鍙傛暟鐨?/span> strncpy(a,b,n)

========================================================

memset 涓昏搴旂敤鏄垵濮嬪寲鏌愪釜鍐呭瓨絀洪棿銆?/span>
memcpy
鏄敤浜?/span> copy 婧愮┖闂寸殑鏁版嵁鍒扮洰鐨勭┖闂翠腑銆?/span>
strcpy
鐢ㄤ簬瀛楃涓?/span> copy, 閬囧埌 鈥榎0鈥?/st1:chmetcnv> 錛屽皢緇撴潫銆?/span>

濡傛灉浣犵悊瑙d簡榪欎簺錛屼綘搴旇鐭ラ亾浠栦滑鐨勫尯鍒細渚嬪浣犲垵濮嬪寲鏌愬潡絀洪棿鐨勬椂鍊欙紝鐢ㄥ埌 memcpy 錛岄偅涔堝簲璇ユ庝箞鍐欙紝鏄笉鏄樉寰楀緢絎ㄣ?/span>
int m[100]
memset((void*)m,0x00,sizeof(int)*100);//Ok
錛?/span>
memcpy((void*)m,"\0\0\0\0....",sizeof(int)*100);//it鈥檚 wrong.
reference : http://hi.baidu.com/%B5%CE%C9%B3/blog/item/12025c2af5ffc33c5343c19f.html



snowball 2008-04-06 10:31 鍙戣〃璇勮
]]>
楂樻晥浜哄+鐨勫仛浜嬫柟娉?/title><link>http://m.shnenglu.com/snowball/archive/2008/04/03/46138.html</link><dc:creator>snowball</dc:creator><author>snowball</author><pubDate>Thu, 03 Apr 2008 00:55:00 GMT</pubDate><guid>http://m.shnenglu.com/snowball/archive/2008/04/03/46138.html</guid><wfw:comment>http://m.shnenglu.com/snowball/comments/46138.html</wfw:comment><comments>http://m.shnenglu.com/snowball/archive/2008/04/03/46138.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/snowball/comments/commentRss/46138.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/snowball/services/trackbacks/46138.html</trackback:ping><description><![CDATA[ <font size="2">1.涓誨姩鑾峰緱宸ヤ綔璁″垝錛岃揪鍒板湪鍏ㄥ眬鎬濈淮涓婂鑷凡鎵鍋氱殑浜嬫儏鏈変竴涓富鍔ㄧ殑鎰熻銆?姣斿鐩稿叧鐨勬枃妗o紝web 榪炴帴,鑱旂郴浜?鐩稿叧鏈) <br />2.閿葷粌韜綋(璺戞錛屽お鏋佹嫵)<br />3.瀛︿範鑻辮(鏅ㄨ錛屽惉鍔?</font> <br /> <img src ="http://m.shnenglu.com/snowball/aggbug/46138.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/snowball/" target="_blank">snowball</a> 2008-04-03 08:55 <a href="http://m.shnenglu.com/snowball/archive/2008/04/03/46138.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>.net涓殑姝e垯琛ㄨ揪寮忎嬌鐢ㄩ珮綰ф妧宸?http://m.shnenglu.com/snowball/archive/2008/04/02/46023.htmlsnowballsnowballWed, 02 Apr 2008 05:42:00 GMThttp://m.shnenglu.com/snowball/archive/2008/04/02/46023.htmlhttp://m.shnenglu.com/snowball/comments/46023.htmlhttp://m.shnenglu.com/snowball/archive/2008/04/02/46023.html#Feedback0http://m.shnenglu.com/snowball/comments/commentRss/46023.htmlhttp://m.shnenglu.com/snowball/services/trackbacks/46023.html闃呰鍏ㄦ枃

snowball 2008-04-02 13:42 鍙戣〃璇勮
]]>
C#姝e垯琛ㄨ揪寮忔暣鐞嗗蹇?http://m.shnenglu.com/snowball/archive/2008/04/02/46022.htmlsnowballsnowballWed, 02 Apr 2008 05:40:00 GMThttp://m.shnenglu.com/snowball/archive/2008/04/02/46022.htmlhttp://m.shnenglu.com/snowball/comments/46022.htmlhttp://m.shnenglu.com/snowball/archive/2008/04/02/46022.html#Feedback0http://m.shnenglu.com/snowball/comments/commentRss/46022.htmlhttp://m.shnenglu.com/snowball/services/trackbacks/46022.html闃呰鍏ㄦ枃

snowball 2008-04-02 13:40 鍙戣〃璇勮
]]>
瑙hC錛冧腑鐨勮鍒欒〃杈懼紡[杞琞 http://m.shnenglu.com/snowball/archive/2008/04/02/46021.htmlsnowballsnowballWed, 02 Apr 2008 05:37:00 GMThttp://m.shnenglu.com/snowball/archive/2008/04/02/46021.htmlhttp://m.shnenglu.com/snowball/comments/46021.htmlhttp://m.shnenglu.com/snowball/archive/2008/04/02/46021.html#Feedback0http://m.shnenglu.com/snowball/comments/commentRss/46021.htmlhttp://m.shnenglu.com/snowball/services/trackbacks/46021.html reference : http://www.chinaaspx.com/Comm/Dotnetbbs/Showtopic.aspx?Forum_ID=5&Id=5250&Page=1
澶氬皯騫存潵錛岃澶氱殑緙栫▼璇█鍜屽伐鍏烽兘鍖呭惈瀵硅鍒欒〃杈懼紡鐨勬敮鎸侊紝.NET鍩虹綾誨簱涓寘鍚湁涓涓悕瀛楃┖闂村拰涓緋誨垪鍙互鍏呭垎鍙戞尌瑙勫垯琛ㄨ揪寮忓▉鍔涚殑綾伙紝鑰屼笖瀹冧滑涔熼兘涓庢湭鏉ョ殑Perl 5涓殑瑙勫垯琛ㄨ揪寮忓吋瀹廣偮?

銆銆姝ゅ錛宺egexp綾昏繕鑳藉瀹屾垚涓浜涘叾浠栫殑鍔熻兘錛屼緥濡備粠鍙寵嚦宸︾殑緇撳悎妯″紡鍜岃〃杈懼紡鐨勭紪杈戠瓑銆偮?

銆銆鍦ㄨ繖綃囨枃绔犱腑錛屾垜灝嗙畝瑕佸湴浠嬬粛System.Text.RegularExpression涓殑綾誨拰鏂規硶銆佷竴浜涘瓧絎︿覆鍖歸厤鍜屾浛鎹㈢殑渚嬪瓙浠ュ強緇勭粨鏋勭殑璇︾粏鎯呭喌錛屾渶鍚庯紝榪樹細浠嬬粛涓浜涗綘鍙兘浼氱敤鍒扮殑甯歌鐨勮〃杈懼紡銆偮?

搴旇鎺屾彙鐨勫熀紜鐭ヨ瘑聽
銆銆瑙勫垯琛ㄨ揪寮忕殑鐭ヨ瘑鍙兘鏄笉灝戠紪紼嬩漢鍛樷滃父瀛﹀父蹇樷濈殑鐭ヨ瘑涔嬩竴銆傚湪榪欑瘒鏂囩珷涓紝鎴戜滑灝嗗亣瀹氫綘宸茬粡鎺屾彙浜嗚鍒欒〃杈懼紡鐨勭敤娉曪紝灝ゅ叾鏄疨erl 5涓〃杈懼紡鐨勭敤娉曘?NET鐨剅egexp綾繪槸Perl 5涓〃杈懼紡鐨勪竴涓秴闆嗭紝鍥犳錛屼粠鐞嗚涓婅瀹冨皢浣滀負涓涓緢濂界殑璧風偣銆傛垜浠繕鍋囪浣犲叿鏈変簡C#鐨勮娉曞拰.NET鏋舵瀯鐨勫熀鏈煡璇嗐偮?

銆銆濡傛灉浣犳病鏈夎鍒欒〃杈懼紡鏂歸潰鐨勭煡璇嗭紝鎴戝緩璁綘浠嶱erl 5鐨勮娉曠潃鎵嬪紑濮嬪涔犮傚湪瑙勫垯琛ㄨ揪寮忔柟闈㈢殑鏉冨▉涔︾睄鏄敱鏉板紬閲屄峰紬闆峰痙灝旂紪鍐欑殑銆婃帉鎻¤〃杈懼紡銆嬩竴涔︼紝瀵逛簬甯屾湜娣卞埢鐞嗚В琛ㄨ揪寮忕殑璇昏咃紝鎴戜滑寮虹儓寤鴻闃呰榪欐湰涔︺偮?

RegularExpression緇勫悎浣撀?
銆銆regexp瑙勫垯綾誨寘鍚湪System.Text.RegularExpressions.dll鏂囦歡涓紝鍦ㄥ搴旂敤杞歡榪涜緙栬瘧鏃朵綘蹇呴』寮曠敤榪欎釜鏂囦歡錛屼緥濡傦紝csc r:System.Text.RegularExpressions.dll foo.cs鍛戒護灝嗗垱寤篺oo.exe鏂囦歡錛屽畠灝卞紩鐢ㄤ簡System.Text.RegularExpressions鏂囦歡銆偮?

鍚嶅瓧絀洪棿綆浠嬄?
銆銆鍦ㄥ悕瀛楃┖闂翠腑浠呬粎鍖呭惈鐫6涓被鍜屼竴涓畾涔夛紝瀹冧滑鏄細聽

銆銆Capture: 鍖呭惈涓嬈″尮閰嶇殑緇撴灉錛浡?

銆銆CaptureCollection: Capture鐨勫簭鍒楋紱聽

銆銆Group: 涓嬈$粍璁板綍鐨勭粨鏋滐紝鐢盋apture緇ф壙鑰屾潵錛浡?

銆銆Match: 涓嬈¤〃杈懼紡鐨勫尮閰嶇粨鏋滐紝鐢盙roup緇ф壙鑰屾潵錛浡?

銆銆MatchCollection: Match鐨勪竴涓簭鍒楋紱聽

銆銆MatchEvaluator: 鎵ц鏇挎崲鎿嶄綔鏃朵嬌鐢ㄧ殑浠g悊錛浡?

銆銆Regex錛氱紪璇戝悗鐨勮〃杈懼紡鐨勫疄渚嬨偮?

銆銆Regex綾諱腑榪樺寘鍚竴浜涢潤鎬佺殑鏂規硶錛毬?

銆銆Escape: 瀵瑰瓧絎︿覆涓殑regex涓殑杞箟絎﹁繘琛岃漿涔夛紱聽

銆銆IsMatch: 濡傛灉琛ㄨ揪寮忓湪瀛楃涓蹭腑鍖歸厤錛岃鏂規硶榪斿洖涓涓竷灝斿鹼紱聽

銆銆Match: 榪斿洖Match鐨勫疄渚嬶紱聽

銆銆Matches: 榪斿洖涓緋誨垪鐨凪atch鐨勬柟娉曪紱聽

銆銆Replace: 鐢ㄦ浛鎹㈠瓧絎︿覆鏇挎崲鍖歸厤鐨勮〃杈懼紡錛浡?

銆銆Split: 榪斿洖涓緋誨垪鐢辮〃杈懼紡鍐沖畾鐨勫瓧絎︿覆錛浡?

銆銆Unescape:涓嶅瀛楃涓蹭腑鐨勮漿涔夊瓧絎﹁漿涔夈偮?

綆鍗曞尮閰嵚?
銆銆鎴戜滑棣栧厛浠庝嬌鐢≧egex銆丮atch綾葷殑綆鍗曡〃杈懼紡寮濮嬪涔犮偮?

銆銆Match m = Regex.Match("abracadabra", "(a|b|r)+");聽

銆銆鎴戜滑鐜板湪鏈変簡涓涓彲浠ョ敤浜庢祴璇曠殑Match綾葷殑瀹炰緥錛屼緥濡傦細if (m.Success)...聽

銆銆濡傛灉鎯充嬌鐢ㄥ尮閰嶇殑瀛楃涓詫紝鍙互鎶婂畠杞崲鎴愪竴涓瓧絎︿覆錛毬?

銆銆Console.WriteLine("Match="+m.ToString());聽

銆銆榪欎釜渚嬪瓙鍙互寰楀埌濡備笅鐨勮緭鍑? Match=abra銆傝繖灝辨槸鍖歸厤鐨勫瓧絎︿覆浜嗐偮?

瀛楃涓茬殑鏇挎崲聽
銆銆綆鍗曞瓧絎︿覆鐨勬浛鎹㈤潪甯哥洿瑙傘備緥濡備笅闈㈢殑璇彞錛毬?

銆銆string s = Regex.Replace("abracadabra", "abra", "zzzz");聽

銆銆瀹冭繑鍥炲瓧絎︿覆zzzzcadzzzz錛屾墍鏈夊尮閰嶇殑瀛楃涓查兘琚浛鎹㈡垚浜唞zzzz銆偮?

銆銆鐜板湪鎴戜滑鏉ョ湅涓涓瘮杈冨鏉傜殑瀛楃涓叉浛鎹㈢殑渚嬪瓙錛毬?

銆銆string s = Regex.Replace(" abra ", @"^\s*(.*?)\s*$", "$1");聽

銆銆榪欎釜璇彞榪斿洖瀛楃涓瞐bra錛屽叾鍓嶅鍜屽悗緙鐨勭┖鏍奸兘鍘繪帀浜嗐偮?

銆銆涓婇潰鐨勬ā寮忓浜庡垹闄や換鎰忓瓧絎︿覆涓殑鍓嶅鍜屽悗緇┖鏍奸兘闈炲父鏈夌敤銆傚湪C#涓紝鎴戜滑榪樼粡甯鎬嬌鐢ㄥ瓧姣嶅瓧絎︿覆錛屽湪涓涓瓧姣嶅瓧絎︿覆涓紝緙栬瘧紼嬪簭涓嶆妸瀛楃鈥?\鈥?浣滀負杞箟瀛楃澶勭悊銆傚湪浣跨敤瀛楃鈥淺鈥濇寚瀹氳漿涔夊瓧絎︽椂錛孈"..."鏄潪甯告湁鐢ㄧ殑銆傚彟澶栧煎緱涓鎻愮殑鏄?1鍦ㄥ瓧絎︿覆鏇挎崲鏂歸潰鐨勪嬌鐢紝瀹冭〃鏄庢浛鎹㈠瓧絎︿覆鍙兘鍖呭惈琚浛鎹㈢殑瀛楃涓層偮?

鍖歸厤寮曟搸鐨勭粏鑺偮?
銆銆鐜板湪錛屾垜浠氳繃涓涓粍緇撴瀯鏉ョ悊瑙d竴涓◢寰鏉傜殑渚嬪瓙銆傜湅涓嬮潰鐨勪緥瀛愶細聽

銆銆string text = "abracadabra1abracadabra2abracadabra3";聽

銆銆string pat = @"聽

銆銆銆銆( # 絎竴涓粍鐨勫紑濮嬄?

銆銆銆銆 abra # 鍖歸厤瀛楃涓瞐bra聽

銆銆銆銆 ( # 絎簩涓粍鐨勫紑濮嬄?

銆銆銆銆 cad # 鍖歸厤瀛楃涓瞔ad聽

銆銆銆銆 )? # 絎簩涓粍緇撴潫錛堝彲閫夛級聽

銆銆銆銆) # 絎竴涓粍緇撴潫聽

銆銆銆銆+ # 鍖歸厤涓嬈℃垨澶氭聽

銆銆銆銆";聽

銆銆//鍒╃敤x淇グ絎﹀拷鐣ユ敞閲娐?

銆銆Regex r = new Regex(pat, "x");聽

銆銆//鑾峰緱緇勫彿鐮佺殑娓呭崟聽

銆銆int[] gnums = r.GetGroupNumbers();聽

銆銆//棣栨鍖歸厤聽

銆銆Match m = r.Match(text);聽

銆銆while (m.Success)聽

銆銆 {聽

銆銆//浠庣粍1寮濮嬄?

銆銆 for (int i = 1; i < gnums.Length; i++)聽

銆銆銆銆{聽

銆銆銆銆Group g = m.Group(gnums[i]);聽

銆銆//鑾峰緱榪欐鍖歸厤鐨勭粍聽

銆銆銆銆Console.WriteLine("Group"+gnums[i]+"=["+g.ToString()+"]");聽

銆銆//璁$畻榪欎釜緇勭殑璧峰浣嶇疆鍜岄暱搴β?

銆銆銆銆CaptureCollection cc = g.Captures;聽

銆銆銆銆for (int j = 0; j < cc.Count; j++)聽

銆銆銆銆 {聽

銆銆銆銆 Capture c = cc[j];聽

銆銆銆銆 Console.WriteLine(" Capture" + j + "=["+c.ToString()聽

銆銆銆銆銆銆 + "] Index=" + c.Index + " Length=" + c.Length);聽

銆銆銆銆 }聽

銆銆銆銆}聽

銆銆//涓嬩竴涓尮閰嵚?

銆銆 m = m.NextMatch();聽

銆銆 }聽

銆銆榪欎釜渚嬪瓙鐨勮緭鍑哄涓嬫墍紺猴細聽

銆銆Group1=[abra]聽

銆銆銆銆銆銆Capture0=[abracad] Index=0 Length=7聽

銆銆銆銆銆銆Capture1=[abra] Index=7 Length=4聽

銆銆Group2=[cad]聽

銆銆銆銆銆銆Capture0=[cad] Index=4 Length=3聽

銆銆Group1=[abra]聽

銆銆銆銆銆銆Capture0=[abracad] Index=12 Length=7聽

銆銆銆銆銆銆Capture1=[abra] Index=19 Length=4聽

銆銆Group2=[cad]聽

銆銆銆銆銆銆Capture0=[cad] Index=16 Length=3聽

銆銆Group1=[abra]聽

銆銆銆銆銆銆Capture0=[abracad] Index=24 Length=7聽

銆銆銆銆銆銆Capture1=[abra] Index=31 Length=4聽

銆銆Group2=[cad]聽

銆銆銆銆銆銆Capture0=[cad] Index=28 Length=3聽

銆銆鎴戜滑棣栧厛浠庤冩煡瀛楃涓瞤at寮濮嬶紝pat涓寘鍚湁琛ㄨ揪寮忋傜涓涓猚apture鏄粠絎竴涓渾鎷彿寮濮嬬殑錛岀劧鍚庤〃杈懼紡灝嗗尮閰嶅埌涓涓猘bra銆傜浜屼釜capture緇勪粠絎簩涓渾鎷彿寮濮嬶紝浣嗙涓涓猚apture緇勮繕娌℃湁緇撴潫錛岃繖鎰忓懗鐫絎竴涓粍鍖歸厤鐨勭粨鏋滄槸abracad 錛岃岀浜屼釜緇勭殑鍖歸厤緇撴灉浠呬粎鏄痗ad銆傚洜姝ゅ鏋滈氳繃浣跨敤錛熺鍙瘋屼嬌cad鎴愪負涓欏瑰彲閫夌殑鍖歸厤錛屽尮閰嶇殑緇撴灉灝卞彲鑳芥槸abra鎴朼bracad銆傜劧鍚庯紝絎竴涓粍灝變細緇撴潫錛岄氳繃鎸囧畾+絎﹀彿瑕佹眰琛ㄨ揪寮忚繘琛屽嬈″尮閰嶃偮?

銆銆鐜板湪鎴戜滑鏉ョ湅鐪嬪尮閰嶈繃紼嬩腑鍙戠敓鐨勬儏鍐點傞鍏堬紝閫氳繃璋冪敤Regex鐨刢onstructor鏂規硶寤虹珛琛ㄨ揪寮忕殑涓涓疄渚嬶紝騫跺湪鍏朵腑鎸囧畾鍚勭閫夐」銆傚湪榪欎釜渚嬪瓙涓紝鐢變簬鍦ㄨ〃杈懼紡涓湁娉ㄩ噴錛屽洜姝ら夌敤浜唜閫夐」錛屽彟澶栬繕浣跨敤浜嗕竴浜涚┖鏍箋傛墦寮x閫夐」錛岃〃杈懼紡灝嗕細蹇界暐娉ㄩ噴鍜屽叾涓病鏈夎漿涔夌殑絀烘牸銆偮?

銆銆鐒跺悗錛屽彇寰楄〃杈懼紡涓畾涔夌殑緇勭殑緙栧彿鐨勬竻鍗曘備綘褰撶劧鍙互鏄炬у湴浣跨敤榪欎簺緙栧彿錛屽湪榪欓噷浣跨敤鐨勬槸緙栫▼鐨勬柟娉曘傚鏋滀嬌鐢ㄤ簡鍛藉悕鐨勭粍錛屼綔涓轟竴縐嶅緩绔嬪揩閫熺儲寮曠殑閫斿緞榪欑鏂規硶涔熷崄鍒嗘湁鏁堛偮?

銆銆鎺ヤ笅鏉ユ槸瀹屾垚絎竴嬈″尮閰嶃傞氳繃涓涓驚鐜祴璇曞綋鍓嶇殑鍖歸厤鏄惁鎴愬姛錛屾帴涓嬫潵鏄粠group 1寮濮嬮噸澶嶅緇勬竻鍗曟墽琛岃繖涓鎿嶄綔銆傚湪榪欎釜渚嬪瓙涓病鏈変嬌鐢╣roup 0鐨勫師鍥犳槸group 0鏄竴涓畬鍏ㄥ尮閰嶇殑瀛楃涓詫紝濡傛灉瑕侀氳繃鏀墮泦鍏ㄩ儴鍖歸厤鐨勫瓧絎︿覆浣滀負涓涓崟涓鐨勫瓧絎︿覆錛屽氨浼氱敤鍒癵roup 0浜嗐偮?

銆銆鎴戜滑璺熻釜姣忎釜group涓殑CaptureCollection銆傞氬父鎯呭喌涓嬫瘡嬈″尮閰嶃佹瘡涓猤roup涓彧鑳芥湁涓涓猚apture錛屼絾鏈緥涓殑Group1鍒欐湁涓や釜capture錛欳apture0鍜孋apture1銆傚鏋滀綘浠呴渶瑕丟roup1鐨凾oString錛屽氨浼氬彧寰楀埌abra錛屽綋鐒跺畠涔熶細涓巃bracad鍖歸厤銆傜粍涓璗oString鐨勫煎氨鏄叾CaptureCollection涓渶鍚庝竴涓狢apture鐨勫鹼紝榪欐鏄垜浠墍闇瑕佺殑銆傚鏋滀綘甯屾湜鏁翠釜榪囩▼鍦ㄥ尮閰峚bra鍚庣粨鏉燂紝灝卞簲璇ヤ粠琛ㄨ揪寮忎腑鍒犻櫎+絎﹀彿錛岃regex寮曟搸鐭ラ亾鎴戜滑鍙渶瑕佸琛ㄨ揪寮忚繘琛屽尮閰嶃偮?

鍩轟簬榪囩▼鍜屽熀浜庤〃杈懼紡鏂規硶鐨勬瘮杈兟?
銆銆涓鑸儏鍐典笅錛屼嬌鐢ㄨ鍒欒〃杈懼紡鐨勭敤鎴峰彲浠ュ垎涓轟互涓嬩簩澶х被錛氱涓綾葷敤鎴峰敖閲忎笉浣跨敤瑙勫垯琛ㄨ揪寮忥紝鑰屾槸浣跨敤榪囩▼鏉ユ墽琛屼竴浜涢渶瑕侀噸澶嶇殑鎿嶄綔錛涚浜岀被鐢ㄦ埛鍒欏厖鍒嗗埄鐢ㄨ鍒欒〃杈懼紡澶勭悊寮曟搸鐨勫姛鑳藉拰濞佸姏錛岃屽敖鍙兘灝戝湴浣跨敤榪囩▼銆偮?

銆銆瀵逛簬鎴戜滑澶у鏁扮敤鎴瘋岃█錛屾渶濂界殑鏂規鑾繃浜庝簩鑰呭吋鑰岀敤涔嬩簡銆傛垜甯屾湜榪欑瘒鏂囩珷鑳藉璇存槑.NET璇█涓璻egexp綾葷殑浣滅敤浠ュ強瀹冨湪鎬ц兘鍜屽鏉傛т箣闂寸殑浼樸佸姡鐐廣偮?

鍩轟簬榪囩▼鐨勬ā寮徛?
銆銆鎴戜滑鍦ㄧ紪紼嬩腑緇忓父闇瑕佺敤鍒扮殑涓涓姛鑳芥槸瀵瑰瓧絎︿覆涓殑涓閮ㄥ垎榪涜鍖歸厤鎴栧叾浠栦竴浜涘瀛楃涓插鐞嗭紝涓嬮潰鏄竴涓瀛楃涓蹭腑鐨勫崟璇嶈繘琛屽尮閰嶇殑渚嬪瓙錛毬?

銆銆string text = "the quick red fox jumped over the lazy brown dog.";聽

銆銆System.Console.WriteLine("text=[" + text + "]");聽

銆銆string result = "";聽

銆銆string pattern = @"\w+|\W+";聽

銆銆foreach (Match m in Regex.Matches(text, pattern))聽

銆銆 {聽

銆銆// 鍙栧緱鍖歸厤鐨勫瓧絎︿覆聽

銆銆 string x = m.ToString();聽

銆銆// 濡傛灉絎竴涓瓧絎︽槸灝忓啓聽

銆銆 if (char.IsLower(x[0]))聽

銆銆// 鍙樻垚澶у啓聽

銆銆銆銆x = char.ToUpper(x[0]) + x.Substring(1, x.Length-1);聽

銆銆// 鏀墮泦鎵鏈夌殑瀛楃聽

銆銆 result += x;聽

銆銆 }聽

銆銆System.Console.WriteLine("result=[" + result + "]");聽

銆銆姝h薄涓婇潰鐨勪緥瀛愭墍紺猴紝鎴戜滑浣跨敤浜咰#璇█涓殑foreach璇彞澶勭悊姣忎釜鍖歸厤鐨勫瓧絎︼紝騫跺畬鎴愮浉搴旂殑澶勭悊錛屽湪榪欎釜渚嬪瓙涓紝鏂板垱寤轟簡涓涓猺esult瀛楃涓層傝繖涓緥瀛愮殑杈撳嚭鎵涓嬫墍紺猴細聽

銆銆text=[the quick red fox jumped over the lazy brown dog.]聽

銆銆result=[The Quick Red Fox Jumped Over The Lazy Brown Dog.]聽

鍩轟簬琛ㄨ揪寮忕殑妯″紡聽
銆銆瀹屾垚涓婁緥涓殑鍔熻兘鐨勫彟涓鏉¢斿緞鏄氳繃涓涓狹atchEvaluator錛屾柊鐨勪唬鐮佸涓嬫墍紺猴細聽

銆銆static string CapText(Match m)聽

銆銆銆銆{聽

銆銆//鍙栧緱鍖歸厤鐨勫瓧絎︿覆聽

銆銆銆銆string x = m.ToString();聽

銆銆// 濡傛灉絎竴涓瓧絎︽槸灝忓啓聽

銆銆銆銆if (char.IsLower(x[0]))聽

銆銆// 杞崲涓哄ぇ鍐櫬?

銆銆銆銆 return char.ToUpper(x[0]) + x.Substring(1, x.Length-1);聽

銆銆銆銆return x;聽

銆銆銆銆}聽

銆銆銆銆聽

銆銆 static void Main()聽

銆銆銆銆{聽

銆銆銆銆string text = "the quick red fox jumped over the聽

銆銆銆銆 lazy brown dog.";聽

銆銆銆銆System.Console.WriteLine("text=[" + text + "]");聽

銆銆銆銆string pattern = @"\w+";聽

銆銆銆銆string result = Regex.Replace(text, pattern,聽

銆銆 new MatchEvaluator(Test.CapText));聽

銆銆銆銆System.Console.WriteLine("result=[" + result + "]");聽

銆銆銆銆}聽

銆銆鍚屾椂闇瑕佹敞鎰忕殑鏄紝鐢變簬浠呬粎闇瑕佸鍗曡瘝榪涜淇敼鑰屾棤闇瀵歸潪鍗曡瘝榪涜淇敼錛岃繖涓ā寮忔樉寰楅潪甯哥畝鍗曘偮?

甯哥敤琛ㄨ揪寮徛?
銆銆涓轟簡鑳藉鏇村ソ鍦扮悊瑙e浣曞湪C#鐜涓嬌鐢ㄨ鍒欒〃杈懼紡錛屾垜鍐欏嚭涓浜涘浣犳潵璇村彲鑳芥湁鐢ㄧ殑瑙勫垯琛ㄨ揪寮忥紝榪欎簺琛ㄨ揪寮忓湪鍏朵粬鐨勭幆澧冧腑閮借浣跨敤榪囷紝甯屾湜鑳藉瀵逛綘鏈夋墍甯姪銆偮?

緗楅┈鏁板瓧聽
銆銆string p1 = "^m*(d?c{0,3}|c[dm])" + "(l?x{0,3}|x[lc])(v?i{0,3}|i[vx])$";聽

銆銆string t1 = "vii";聽

銆銆Match m1 = Regex.Match(t1, p1);聽

浜ゆ崲鍓嶄簩涓崟璇嵚?
銆銆string t2 = "the quick brown fox";聽

銆銆string p2 = @"(\S+)(\s+)(\S+)";聽

銆銆Regex x2 = new Regex(p2);聽

銆銆string r2 = x2.Replace(t2, "$3$2$1", 1);聽

鍏沖仴瀛?鍊悸?
銆銆string t3 = "myval = 3";聽

銆銆string p3 = @"(\w+)\s*=\s*(.*)\s*$";聽

銆銆Match m3 = Regex.Match(t3, p3);聽

瀹炵幇姣忚80涓瓧絎β?
銆銆string t4 = "********************"聽

銆銆 + "******************************"聽

銆銆 + "******************************";聽

銆銆string p4 = ".{80,}";聽

銆銆Match m4 = Regex.Match(t4, p4);聽

鏈?鏃?騫?灝忔椂:鍒?縐掔殑鏃墮棿鏍煎紡聽
銆銆string t5 = "01/01/01 16:10:01";聽

銆銆string p5 = @"(\d+)/(\d+)/(\d+) (\d+):(\d+):(\d+)";聽

銆銆Match m5 = Regex.Match(t5, p5);聽

鏀瑰彉鐩綍錛堜粎閫傜敤浜嶹indows騫沖彴錛壜?
string t6 = @"C:\Documents and Settings\user1\Desktop\";聽

string r6 = Regex.Replace(t6,@" \\user1\\ ", @" \\user2\\ ");聽

鎵╁睍16浣嶈漿涔夌聽
銆銆string t7 = "%41"; // capital A聽

銆銆string p7 = "%([0-9A-Fa-f][0-9A-Fa-f])";聽

銆銆string r7 = Regex.Replace(t7, p7, HexConvert);聽

鍒犻櫎C璇█涓殑娉ㄩ噴錛堟湁寰呭畬鍠勶級聽
銆銆string t8 = @"聽

銆銆/*聽

銆銆 * 浼犵粺椋庢牸鐨勬敞閲娐?

銆銆 */聽

銆銆";聽

銆銆string p8 = @"聽

銆銆 /\* # 鍖歸厤娉ㄩ噴寮濮嬬殑瀹氱晫絎β?

銆銆 .*? # 鍖歸厤娉ㄩ噴聽

銆銆 \*/ # 鍖歸厤娉ㄩ噴緇撴潫瀹氱晫絎β?

銆銆";聽

銆銆string r8 = Regex.Replace(t8, p8, "", "xs");聽

鍒犻櫎瀛楃涓蹭腑寮濮嬪拰緇撴潫澶勭殑絀烘牸聽
銆銆string t9a = " leading";聽

銆銆string p9a = @"^\s+";聽

銆銆string r9a = Regex.Replace(t9a, p9a, "");聽

銆銆string t9b = "trailing ";聽

銆銆string p9b = @"\s+$";聽

銆銆string r9b = Regex.Replace(t9b, p9b, "");聽

銆銆鍦ㄥ瓧絎鍚庢坊鍔犲瓧絎錛屼嬌涔嬫垚涓虹湡姝g殑鏂拌聽

銆銆string t10 = @"\ntest\n";聽

銆銆string r10 = Regex.Replace(t10, @" \\n ", "\n");聽

杞崲IP鍦板潃聽
銆銆string t11 = "55.54.53.52";聽

銆銆string p11 = "^" +聽

銆銆 @"([01]?\d\d|2[0-4]\d|25[0-5])\." +聽

銆銆 @"([01]?\d\d|2[0-4]\d|25[0-5])\." +聽

銆銆 @"([01]?\d\d|2[0-4]\d|25[0-5])\." +聽

銆銆 @"([01]?\d\d|2[0-4]\d|25[0-5])" +聽

銆銆 "$";聽

銆銆Match m11 = Regex.Match(t11, p11);聽

鍒犻櫎鏂囦歡鍚嶅寘鍚殑璺緞聽
銆銆string t12 = @"c:\file.txt";聽

銆銆string p12 = @"^.*\\";聽

銆銆string r12 = Regex.Replace(t12, p12, "");聽

鑱旀帴澶氳瀛楃涓蹭腑鐨勮聽
銆銆string t13 = @"this is聽

銆銆a split line";聽

銆銆string p13 = @"\s*\r?\n\s*";聽

銆銆string r13 = Regex.Replace(t13, p13, " ");聽

鎻愬彇瀛楃涓蹭腑鐨勬墍鏈夋暟瀛椔?
銆銆string t14 = @"聽

銆銆test 1聽

銆銆test 2.3聽

銆銆test 47聽

銆銆";聽

銆銆string p14 = @"(\d+\.?\d*|\.\d+)";聽

銆銆MatchCollection mc14 = Regex.Matches(t14, p14);聽

鎵懼嚭鎵鏈夌殑澶у啓瀛楁瘝聽
銆銆string t15 = "This IS a Test OF ALL Caps";聽

銆銆string p15 = @"(\b[^\Wa-z0-9_]+\b)";聽

銆銆MatchCollection mc15 = Regex.Matches(t15, p15);聽

鎵懼嚭灝忓啓鐨勫崟璇嵚?
銆銆string t16 = "This is A Test of lowercase";聽

銆銆string p16 = @"(\b[^\WA-Z0-9_]+\b)";聽

銆銆MatchCollection mc16 = Regex.Matches(t16, p16);聽

鎵懼嚭絎竴涓瓧姣嶄負澶у啓鐨勫崟璇嵚?
銆銆string t17 = "This is A Test of Initial Caps";聽

銆銆string p17 = @"(\b[^\Wa-z0-9_][^\WA-Z0-9_]*\b)";聽

銆銆MatchCollection mc17 = Regex.Matches(t17, p17);聽

鎵懼嚭綆鍗曠殑HTML璇█涓殑閾炬帴聽
銆銆string t18 = @"聽

銆銆<html>聽

銆銆<a href=""first.htm"">first tag text</a>聽

銆銆<a href=""next.htm"">next tag text</a>聽

銆銆</html>聽

銆銆";聽

銆銆string p18 = @"<A[^>]*?HREF\s*=\s*[""']?" + @"([^'"" >]+?)[ '""]?>";聽

銆銆MatchCollection mc18 = Regex.Matches(t18, p18, "si");



snowball 2008-04-02 13: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>
            久久夜色精品国产噜噜av| 亚洲色诱最新| 亚洲电影第1页| 国产精品美女主播| 亚洲精品永久免费精品| 亚洲精品日本| 麻豆精品视频在线观看视频| 久久躁狠狠躁夜夜爽| 国产日本欧美视频| 午夜精品久久久99热福利| 亚洲免费在线观看| 欧美性生交xxxxx久久久| 99视频精品| 亚洲视频999| 国产精品成人一区二区网站软件 | 亚洲欧洲精品成人久久奇米网| 欧美在线1区| 久久久久久91香蕉国产| 国产一区二区精品久久99| 香蕉成人伊视频在线观看| 久久久999精品免费| 国外精品视频| 男女激情视频一区| 亚洲美女毛片| 午夜精品视频| 国产一区二区三区四区三区四 | 亚洲电影免费观看高清完整版在线 | 亚洲欧美日韩国产综合精品二区| 亚洲一区免费网站| 国产精品久久| 欧美中文在线字幕| 亚洲国产高清在线| 亚洲欧美日韩高清| 一区二区亚洲欧洲国产日韩| 久热精品视频在线免费观看| 亚洲国产导航| 亚洲欧美日韩在线播放| 激情av一区二区| 欧美激情一区二区三区成人| 在线亚洲精品福利网址导航| 久久精品国产99国产精品澳门| 在线观看的日韩av| 欧美日韩精品一区二区在线播放 | 欧美 日韩 国产一区二区在线视频| 亚洲国产精品第一区二区| 亚洲夜晚福利在线观看| 国产日韩欧美精品一区| 欧美xx69| 午夜精品在线看| 亚洲欧洲三级电影| 久久久噜噜噜久久人人看| 亚洲视频在线一区| 亚洲国产女人aaa毛片在线| 欧美午夜不卡影院在线观看完整版免费 | 性色一区二区三区| 最新69国产成人精品视频免费| 欧美午夜在线视频| 老司机凹凸av亚洲导航| 亚洲一区二区欧美| 亚洲国产国产亚洲一二三| 欧美一区二区三区视频| 亚洲激情视频在线播放| 国产日韩欧美日韩大片| 欧美精品一区二区三| 久久成人国产| 一区二区三区高清| 亚洲青色在线| 免费亚洲网站| 久久国产精品久久久久久电车| 91久久精品国产91久久性色| 国产欧美视频一区二区三区| 欧美国产视频在线观看| 久久精品一区二区| 亚洲欧美日韩国产成人精品影院| 亚洲欧洲精品一区二区三区波多野1战4 | 国产人久久人人人人爽| 欧美三区在线观看| 欧美大片在线观看一区二区| 欧美一区二区在线播放| 国产精品99久久不卡二区| 欧美激情导航| 久久一区欧美| 久久久久久高潮国产精品视| 午夜精品一区二区三区在线视| 一本色道久久综合亚洲精品不| 亚洲大胆视频| 激情久久久久久| 国产亚洲午夜| 国产综合久久久久久| 国产精品毛片a∨一区二区三区| 欧美美女bbbb| 欧美欧美天天天天操| 欧美激情区在线播放| 免费一区视频| 美女视频黄免费的久久| 久久深夜福利免费观看| 久久国产精品久久久久久| 欧美尤物一区| 久久女同互慰一区二区三区| 久久精品在线观看| 久久免费一区| 老司机午夜精品视频在线观看| 久久久久久一区| 毛片av中文字幕一区二区| 免费在线日韩av| 欧美精品1区2区| 欧美日韩亚洲视频| 欧美系列电影免费观看| 国产精品视频精品视频| 国产精品综合网站| 国产一区二区按摩在线观看| 国内揄拍国内精品少妇国语| 激情久久一区| 亚洲日本电影在线| 一区二区欧美日韩| 午夜精品福利电影| 久久精品国产亚洲5555| 美女网站在线免费欧美精品| 亚洲成色777777在线观看影院| 亚洲青色在线| 亚洲一区二区综合| 久久久激情视频| 欧美国产日韩二区| 欧美人交a欧美精品| 国产精品久久久久久久久久免费| 国产精品国色综合久久| 国产性色一区二区| 亚洲国产美女精品久久久久∴| 一区二区三区四区五区精品视频| 午夜精品一区二区三区在线 | 夜久久久久久| 午夜精品久久久久久99热| 久久久久久自在自线| 亚洲国产精品第一区二区三区| 99热这里只有精品8| 欧美在线视频二区| 欧美jizz19性欧美| 国产精品中文字幕欧美| 亚洲成人直播| 亚洲欧美国产va在线影院| 久久蜜桃av一区精品变态类天堂| 亚洲电影一级黄| 一本色道久久88综合亚洲精品ⅰ | 日韩午夜在线电影| 久久成人精品视频| 欧美日韩国产精品一区二区亚洲| 国产欧美日韩一区| 日韩天堂在线视频| 久久久www成人免费无遮挡大片| 欧美高清在线| 亚洲欧美日韩在线一区| 欧美成人在线免费视频| 国产精品自拍一区| 日韩亚洲不卡在线| 久久免费精品日本久久中文字幕| 日韩小视频在线观看| 久久精品国产亚洲精品| 欧美日韩综合不卡| 亚洲国产日韩一区二区| 欧美在线观看天堂一区二区三区| 91久久久亚洲精品| 久久香蕉国产线看观看网| 国产精品无码专区在线观看| 亚洲国产综合91精品麻豆| 久久狠狠亚洲综合| 这里只有精品视频| 欧美精品乱码久久久久久按摩| 国外精品视频| 久久精品成人一区二区三区| 中文精品一区二区三区| 欧美激情国产精品| 亚洲高清资源| 久久久久久久久久久一区 | 你懂的国产精品永久在线| 亚洲婷婷在线| 国产精品99一区| 99国产欧美久久久精品| 老司机一区二区三区| 欧美一级网站| 国产毛片精品国产一区二区三区| 一区二区三区日韩欧美精品| 欧美不卡视频一区| 欧美在线观看你懂的| 国产精品永久免费在线| 亚洲欧美日本日韩| 99亚洲一区二区| 欧美视频不卡| 中文在线资源观看网站视频免费不卡 | 亚洲老板91色精品久久| 蜜桃久久av| 久久免费高清| 在线观看欧美视频| 久久亚洲一区二区三区四区| 欧美亚洲一区| 国产亚洲激情| 久久精品色图| 久久精品女人的天堂av| 国内精品福利| 老司机精品视频网站| 久久久久免费视频|