锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧美日韩综合一区,亚洲视频中文,亚洲欧洲在线播放http://m.shnenglu.com/woaidongmao/category/6861.html鏂囩珷鍧囨敹褰曡嚜浠栦漢鍗氬錛屼絾涓嶅枩鏍囬鍓嶅姞-[杞創(chuàng)]錛屽洜鍏朵笐闄嬶紝瑙佽皡錛亊zh-cnWed, 02 Sep 2009 21:11:19 GMTWed, 02 Sep 2009 21:11:19 GMT60浣跨敤std::vector 鐨勯櫡闃?/title><link>http://m.shnenglu.com/woaidongmao/archive/2009/09/02/95146.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Wed, 02 Sep 2009 14:36:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2009/09/02/95146.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/95146.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2009/09/02/95146.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/95146.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/95146.html</trackback:ping><description><![CDATA[<p style="text-justify: inter-ideograph; background: white; margin: 0cm 0cm 9pt; word-break: break-all; text-indent: 21pt; line-height: 150%; text-align: justify"><span style="color: black; mso-bidi-font-family: arial">鍦ㄤ嬌鐢?span lang="EN-US">std</span>鐨勫鍣ㄧ殑鏃跺?span lang="EN-US">,</span>涓嶅皯浜哄枩嬈㈢敤<span lang="EN-US">vector, </span>鍥犱負姣旇搗<span lang="EN-US">list,</span>鏇寸渷絀洪棿<span lang="EN-US">,</span>鑰屼笖鍙互鏍規(guī)嵁<span lang="EN-US">index</span>鐩存帴璇誨彇鏌愪釜鍊?span lang="EN-US">,</span>鑰屼笉鐢ㄤ竴涓釜鏋氫婦鏉ュ彇<span lang="EN-US">.<?xml:namespace prefix = o /><o:p></o:p></span></span></p> <p style="text-justify: inter-ideograph; background: white; margin: 0cm 0cm 9pt; word-break: break-all; text-indent: 21pt; line-height: 150%; text-align: justify"><span style="color: black; mso-bidi-font-family: arial">浣嗘槸<span lang="EN-US">,std::vector</span>紜疄鏈変竴浜涘煎緱娉ㄦ剰鐨勯櫡闃?span lang="EN-US">, </span>榪欓噷鍏堣鍏朵腑涓涓?span lang="EN-US">, </span>璇風湅浠ヤ笅浠g爜<span lang="EN-US">.<o:p></o:p></span></span></p> <p style="text-justify: inter-ideograph; background: white; margin: 0cm 0cm 9pt; word-break: break-all; text-indent: 21pt; line-height: 150%; text-align: justify"><span lang="EN-US" style="color: black; mso-bidi-font-family: arial">std::vector< int >  values;<o:p></o:p></span></p> <p style="text-justify: inter-ideograph; background: white; margin: 0cm 0cm 9pt; word-break: break-all; text-indent: 21pt; line-height: 150%; text-align: justify"><span lang="EN-US" style="color: black; mso-bidi-font-family: arial">values.push_back(1);<o:p></o:p></span></p> <p style="text-justify: inter-ideograph; background: white; margin: 0cm 0cm 9pt; word-break: break-all; text-indent: 21pt; line-height: 150%; text-align: justify"><span lang="EN-US" style="color: black; mso-bidi-font-family: arial">values.push_back(2);<o:p></o:p></span></p> <p style="text-justify: inter-ideograph; background: white; margin: 0cm 0cm 9pt; word-break: break-all; text-indent: 21pt; line-height: 150%; text-align: justify"><span lang="EN-US" style="color: black; mso-bidi-font-family: arial">values.push_back(3);<o:p></o:p></span></p> <p style="text-justify: inter-ideograph; background: white; margin: 0cm 0cm 9pt; word-break: break-all; text-indent: 21pt; line-height: 150%; text-align: justify"><span lang="EN-US" style="color: black; mso-bidi-font-family: arial">values.erase(values.begin() + 1);<o:p></o:p></span></p> <p style="text-justify: inter-ideograph; background: white; margin: 0cm 0cm 9pt; word-break: break-all; text-indent: 21pt; line-height: 150%; text-align: justify"><span style="color: black; mso-bidi-font-family: arial">涔嶇湅涔嬩笅<span lang="EN-US">,</span>榪欏嚑琛岀畝鍗曠殑浠g爜娌′粈涔?闂<span lang="EN-US">. </span>瀹為檯鎵ц璧鋒潵<span lang="EN-US">, </span>榪樻槸娌′粈涔堥棶棰?span lang="EN-US"> , </span>浣嗗嵈鏈変竴涓櫡闃?span lang="EN-US">. </span>鐢變簬渚嬪瓙閲岄潰鐢ㄧ殑鏄?span lang="EN-US">int</span>鐨?span lang="EN-US">vector,</span>鎵浠ヨ繖鏍峰仛娌℃湁浠諱綍闂<span lang="EN-US">, </span>浣?span lang="EN-US">,</span>鍋囧涓嶆槸涓涓?span lang="EN-US">int, </span>鑰屾槸涓涓被<span lang="EN-US">,</span>涓涓粨鏋勪綋<span lang="EN-US">,</span>綾繪垨緇撴瀯浣撻噷闈㈣繕鏈夋寚閽?span lang="EN-US">, </span>閭e氨寰堝彲鑳藉嚭闂浜?span lang="EN-US">. why?<o:p></o:p></span></span></p> <p style="text-justify: inter-ideograph; background: white; margin: 0cm 0cm 9pt; word-break: break-all; text-indent: 21pt; line-height: 150%; text-align: justify"><span style="color: black; mso-bidi-font-family: arial">鍥犱負<span lang="EN-US">vector</span>涓嶈薄<span lang="EN-US">list,vector</span>濮嬬粓瑕佷繚鎸佷竴涓畬鏁寸殑鍐呭瓨緇撴瀯<span lang="EN-US">(</span>鍥犱負灝辨槸涓涓暟緇?span lang="EN-US">),</span>榪欐牱鎵嶅彲浠ヨ<span lang="EN-US">values[1]</span>榪欐牱鐨勬柟寮忔紜繍琛?span lang="EN-US">. </span>浣嗘槸<span lang="EN-US">,</span>濡傛灉瑕佸湪<span lang="EN-US">vector</span>涓棿鍒犳帀涓涓垚鍛樼殑璇?span lang="EN-US">,vector</span>鏄繖鏍峰仛鐨?span lang="EN-US">, </span>鍏堟妸璇ユ垚鍛樺悗闈㈢殑涓涓垚鍛?span lang="EN-US">,</span>涓鐩村埌鏈鍚庝竴涓垚鍛樺線鍓嶄竴浣嶇疆鎷瘋礉<span lang="EN-US">,</span>榪欐牱闇瑕佸垹闄ょ殑鎴愬憳宸茬粡琚悗闈㈢殑瑕嗙洊浜?span lang="EN-US">, </span>鐒跺悗鍐嶅垹闄ゆ渶鍚庝竴涓垚鍛?span lang="EN-US">,</span>榪欐牱<span lang="EN-US">,vector</span>鍙堣兘淇濇寔涓孌靛畬鏁寸殑鍐呭瓨緇撴瀯浜?span lang="EN-US">.  </span>娉ㄦ剰<span lang="EN-US">,</span>鍥犱負鏈鍚庝竴涓垚鍛樹細琚垹闄?span lang="EN-US">,</span>鑰屽鏋滆繖涓垚鍛橀噷闈㈡湁涓涓垚鍛樺彉閲忔槸鎸囬拡<span lang="EN-US">, </span>閭f瀽鏋勫嚱鏁板緢鏈夊彲鑳戒細鎶婅繖涓寚閽堟寚鍚戠殑鍦版柟閲婃斁鎺?span lang="EN-US">!  </span>榪欐牱<span lang="EN-US">,</span>鍗充嬌鏈鍚庝竴涓垚鍛樿澶嶅埗浜嗕竴浠?span lang="EN-US"> </span>鍒板掓暟絎?span lang="EN-US">2</span>鐨勪綅緗?span lang="EN-US">,</span>涔熷洜涓哄湪浠栨湰韜鍒犻櫎鐨勬椂鍊?span lang="EN-US">,</span>鎶婂掓暟絎?span lang="EN-US">2</span>涓?span lang="EN-US">(</span>涔熷氨鏄畠鐨勫鍒?span lang="EN-US">) </span>鐨勬寚閽堟垚鍛樻墍鎸囧悜鐨勫湴鏂圭粰閲婃斁浜?span lang="EN-US">! </span>濡傚浘錛?span lang="EN-US"><o:p></o:p></span></span></p> <p style="text-justify: inter-ideograph; background: white; margin: 0cm 0cm 0pt; word-break: break-all; text-indent: 21pt; line-height: 150%; text-align: justify"><span lang="EN-US" style="color: black; mso-bidi-font-family: arial">                     <span id="hvzpftn" class="apple-converted-space"> </span><a ><span style="color: #0054b3; text-decoration: none; text-underline: none"><span style="mso-ignore: vglayout"><img class="alignnone size-full wp-image-1468" title="clip_image002" style="border-right: 0px; padding-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; border-left: 0px; padding-top: 0px; border-bottom: 0px; font-family: arial, helvetica, sans-serif; oldpaddingtop: 0px; oldbordertopwidth: ; oldpaddingbottom: 0px; oldborderbottomwidth: ; oldpaddingright: 0px; oldborderrightwidth: ; oldpaddingleft: 0px; oldborderleftwidth: " height="206" alt="clip_image002" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stdvector_13DCB/clip_image002_0faed496-68b4-4907-a855-209a8dfc2c1e.jpg" width="322" border="0" v:shapes="_x0000_i1025" mergenum="0"></span></span></a><o:p></o:p></span></p> <p style="text-justify: inter-ideograph; background: white; margin: 0cm 0cm 9pt; word-break: break-all; text-indent: 21pt; line-height: 150%; text-align: justify"><span style="color: black; mso-bidi-font-family: arial">瑙e喅鐨勫姙娉曚篃寰堢畝鍗?span lang="EN-US">, </span>鏈灝戞湁<span lang="EN-US">2</span>縐?span lang="EN-US">. 1,  </span>澧炲姞浣滀負<span lang="EN-US">vector</span>綾誨瀷鐨勭被鐨勬嫹璐濇瀯閫犲嚱鏁?span lang="EN-US">, </span>鍥犱負<span lang="EN-US">vector</span>鍦?span lang="EN-US">erase</span>鐨勬椂鍊欎細鍙戠敓涓嬈℃嫹璐?span lang="EN-US">,</span>璁╂嫹璐濇瀯閫犲嚱鏁頒笉鍗曞崟鏄鍒舵寚閽?span lang="EN-US">,</span>榪樻妸鎸囬拡鎵鎸囧悜鐨勫唴瀹圭粰鎷瘋礉涓浠?span lang="EN-US">,</span>榪欐牱灝變笉浼氬鑷磋鏈鍚庝竴涓垚鍛橀噴鏀劇殑鏃跺欎竴璧烽噴鏀炬帀浜?span lang="EN-US">. 2, </span>濡傛灉鏈夊紩鐢ㄨ鏁扮殑璇?span lang="EN-US">,</span>濡傛櫤鑳芥寚閽?span lang="EN-US">, </span>灝變笉浼氳閲婃斁鎺変簡銆備笉榪囧鏋滀竴鑸紪鐮侀噷闈笉闇瑕佺敤鍒板紩鐢ㄨ鏁扮殑璇?span lang="EN-US">,</span>榪樻槸鏂規(guī)硶<span lang="EN-US">1</span>姣旇緝綆渚?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="line-height: 150%"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial"><o:p> </o:p></span></p><img src ="http://m.shnenglu.com/woaidongmao/aggbug/95146.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2009-09-02 22:36 <a href="http://m.shnenglu.com/woaidongmao/archive/2009/09/02/95146.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍏充簬STL瀹瑰櫒瀛樺偍瀵硅薄鐨勯棶棰?/title><link>http://m.shnenglu.com/woaidongmao/archive/2009/09/02/95144.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Wed, 02 Sep 2009 14:23:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2009/09/02/95144.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/95144.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2009/09/02/95144.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/95144.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/95144.html</trackback:ping><description><![CDATA[<p><font size="4">璇烽棶濡傛灉鎴戝湪STL瀹瑰櫒瀛樺偍鐨勬槸瀵硅薄錛岄偅涔堟垜鍦ㄨ皟鐢╟lear()鎴杄ara()鐨勬椂鍊欙紝浼氳嚜鍔ㄩ噴鏀捐繖涓璞$殑鍐呭瓨絀洪棿鍚楋紵浼氭墽琛岃瀵硅薄鐨勬瀽澶熷嚱鏁板悧錛?/font></p> <p><font size="4">=======================</font></p> <p><font size="4">浼氾紝鏋愭瀯鍑芥暟涔熶細鑷姩璋冪敤銆?nbsp;  <br>  浣嗗鏋滃瓨鍌ㄧ殑鏄璞$殑鎸囬拡錛屽閮ㄥ璞″鏋滄槸鍦ㄥ爢涓婂垎閰嶇殑錛岄渶瑕佹垜浠嚜宸瞕elete</font> <p><font size="4">=======================</font> <p><font size="4">STL鐨勫鍣ㄦ槸鍩轟簬<font color="#ff0000">by   value璇剰鐨勩傚綋浣犳妸涓涓厓绱犳斁鍏ュ鍣ㄤ腑錛屽湪瀹瑰櫒涓瓨鏀劇殑瀹為檯涓婃槸榪欎釜鍏冪礌鐨勪竴涓壇鏈紙榪欏氨鏄負浠涔圫TL瀹瑰櫒瑕佹眰鍏冪礌<strong><u>蹇呴』鍙互鎷瘋礉鏋勯犲拰璧嬪?/u></strong>錛夛紝</font>鍓湰鎵鍗犵殑鍐呭瓨鏄疭TL瀹瑰櫒鑷繁鍒嗛厤鐨勶紝<font color="#ff0000">鎵浠ュ畠浼氳嚜宸卞洖鏀惰繖浜涘唴瀛橈紝鍚屾椂璋冪敤鍏冪礌鐨勬瀽鏋勫嚱鏁般?/font>   <br>  浣嗘槸濡傛灉浣犳妸鎸囬拡鏀懼埌瀹瑰櫒涓紝clear鐨勬椂鍊欏鍣ㄥ彧璐熻矗鍥炴敹鎸囬拡鏈韓鎵鍗犵殑鍐呭瓨錛岃嚦浜庢寚閽堟墍鎸囧悜鐨勪笢瑗匡紝瀹冩槸涓嶇銆?/font></p><img src ="http://m.shnenglu.com/woaidongmao/aggbug/95144.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2009-09-02 22:23 <a href="http://m.shnenglu.com/woaidongmao/archive/2009/09/02/95144.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>STL 4錛?STL涔嬪鍣細閫夋嫨鏃舵満錛屽垹闄ゅ厓绱狅紝榪唬鍣ㄥけ鏁?/title><link>http://m.shnenglu.com/woaidongmao/archive/2009/08/31/94925.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Mon, 31 Aug 2009 15:08:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2009/08/31/94925.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/94925.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2009/08/31/94925.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/94925.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/94925.html</trackback:ping><description><![CDATA[<p class="MsoNormal" style="background: white; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">  </span><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">涓<span lang="EN-US">. </span>縐嶇被錛?span lang="EN-US"><?xml:namespace prefix = o /><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; margin-left: 32.25pt; layout-grid-mode: char; word-break: break-all; text-indent: -18pt; line-height: 150%; text-align: left; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; line-height: 150%; font-family: symbol; mso-bidi-font-family: symbol; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: symbol"><span style="mso-list: ignore">路<span style="font: 7pt 'Times New Roman'">            </span></span></span><b><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">鏍囧噯<span lang="EN-US">STL</span>搴忓垪瀹瑰櫒</span></b><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">錛?span lang="EN-US">vector</span>銆?span lang="EN-US">string</span>銆?span lang="EN-US">deque</span>鍜?span lang="EN-US">list</span>銆?<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; margin-left: 32.25pt; layout-grid-mode: char; word-break: break-all; text-indent: -18pt; line-height: 150%; text-align: left; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; line-height: 150%; font-family: symbol; mso-bidi-font-family: symbol; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: symbol"><span style="mso-list: ignore">路<span style="font: 7pt 'Times New Roman'">            </span></span></span><b><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">鏍囧噯<span lang="EN-US">STL</span>鍏寵仈瀹瑰櫒</span></b><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">錛?span lang="EN-US">set</span>銆?span lang="EN-US">multiset</span>銆?span lang="EN-US">map</span>鍜?span lang="EN-US">multimap</span>銆?<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; margin-left: 32.25pt; layout-grid-mode: char; word-break: break-all; text-indent: -18pt; line-height: 150%; text-align: left; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; line-height: 150%; font-family: symbol; mso-bidi-font-family: symbol; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: symbol"><span style="mso-list: ignore">路<span style="font: 7pt 'Times New Roman'">            </span></span></span><b><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">闈炴爣鍑嗗簭鍒楀鍣?/span></b><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">slist</span><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">鍜?span lang="EN-US">rope</span>銆?span lang="EN-US">slist</span>鏄竴涓崟鍚戦摼琛紝<span lang="EN-US">rope</span>鏈川涓婃槸涓涓噸鍨嬪瓧絎︿覆 <span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; margin-left: 32.25pt; layout-grid-mode: char; word-break: break-all; text-indent: -18pt; line-height: 150%; text-align: left; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; line-height: 150%; font-family: symbol; mso-bidi-font-family: symbol; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: symbol"><span style="mso-list: ignore">路<span style="font: 7pt 'Times New Roman'">            </span></span></span><b><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">闈炴爣鍑嗗叧鑱斿鍣?/span></b><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">hash_set</span><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">銆?span lang="EN-US">hash_multiset</span>銆?span lang="EN-US">hash_map</span>鍜?span lang="EN-US">hash_multimap</span>銆?<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; margin-left: 32.25pt; layout-grid-mode: char; word-break: break-all; text-indent: -18pt; line-height: 150%; text-align: left; mso-pagination: widow-orphan; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt" align="left"><span lang="EN-US" style="font-size: 10pt; color: black; line-height: 150%; font-family: symbol; mso-bidi-font-family: symbol; mso-font-kerning: 0pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: symbol"><span style="mso-list: ignore">路<span style="font: 7pt 'Times New Roman'">            </span></span></span><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">鍑犵<b>鏍囧噯闈?span lang="EN-US">STL</span>瀹瑰櫒</b>錛屽寘鎷暟緇勩?span lang="EN-US">bitset</span>銆?span lang="EN-US">valarray</span>銆?span lang="EN-US">stack</span>銆?span lang="EN-US">queue</span>鍜?span lang="EN-US">priority_queue <o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-size: 12pt; background: red; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">鍊煎緱娉ㄦ剰鐨勬槸錛屾暟緇勫彲浠ュ拰<span lang="EN-US">STL</span>綆楁硶閰嶅悎錛屽洜涓烘寚閽堝彲浠ュ綋浣滄暟緇勭殑榪唬鍣ㄤ嬌鐢?/span><span style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">銆?/span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">  </span><span style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">浜?span lang="EN-US">.</span>鍒犻櫎鍏冪礌 <span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">濡傛灉鎯沖垹闄や笢瑗匡紝璁頒綇<span lang="EN-US">remove</span>綆楁硶鍚庯紝瑕佸姞涓?span lang="EN-US">erase<o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">鎵璋撳垹闄ょ畻娉曪紝鏈緇堣繕鏄璋冪敤鎴愬憳鍑芥暟鍘誨垹闄ゆ煇涓厓绱狅紝浣嗘槸鍥犱負<span lang="EN-US">remove</span>騫朵笉鐭ラ亾瀹冪幇鍦ㄤ綔鐢ㄤ簬鍝釜瀹瑰櫒錛屾墍浠?span lang="EN-US">remove</span>綆楁硶涓嶅彲鑳界湡鐨勫垹闄や竴涓厓绱?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">1.Vector<o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> <o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">vector<int> v;   <o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">v.reserve(10);   <o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">for (int i = 1; i <= 10; ++i) {<o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> v.push_back(i);<o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">}<o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">cout << v.size();   // 10<o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">v[3] = v[5] = v[9] = 99; <o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">remove(v.begin(), v.end(), 99); <o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">//v.erase(remove(v.begin(),v.end(),99),v.end());<o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">cout << v.size();   // 10</span><span style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">錛?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">2. list<o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">list<int> listTest;<o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">listTest.remove(99);//</span><span style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">榪欎釜鎴愬憳鍑芥暟灝嗙湡鐨勫垹闄ゅ厓绱狅紝騫朵笖瑕佹瘮<span lang="EN-US">erase+remove</span>楂樻晥<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">remove</span><span style="font-size: 12pt; background: white; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">鍜?span lang="EN-US">remove_if</span>涔嬮棿鐨勫崄鍒嗙浉浼箋備絾<span lang="EN-US">unique</span>琛屼負涔熷儚<span lang="EN-US">remove</span>銆傚畠鐢ㄦ潵浠庝竴涓尯闂村垹闄や笢瑗匡紙閭昏繎鐨勯噸澶嶅鹼級鑰屼笉鐢ㄨ闂寔鏈夊尯闂村厓绱犵殑瀹瑰櫒銆傚鏋滀綘鐪熺殑瑕佷粠瀹瑰櫒涓垹闄ゅ厓绱狅紝浣犱篃蹇呴』鎴愬璋冪敤<span lang="EN-US">unique</span>鍜?span lang="EN-US">erase</span>錛?span lang="EN-US">unique</span>鍦?span lang="EN-US">list</span>涓篃綾諱技浜?span lang="EN-US">remove</span>銆傛鍍?span lang="EN-US">list::remove</span>鐪熺殑鍒犻櫎涓滆タ錛堣屼笖姣?span lang="EN-US">erase-remove</span>鎯敤娉曢珮鏁堝緱澶氾級銆?span lang="EN-US">list::unique</span>涔熺湡鐨勫垹闄ら偦榪戠殑閲嶅鍊鹼紙涔熸瘮<span lang="EN-US">erase-unique</span>楂樻晥錛夈?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> <o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">涓?榪唬鍣ㄥけ鏁堬細</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">  <o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">涓涓綉鍙嬫彁鐨勯棶棰橈細<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">void   main() <br>{ <br>vector <string> vcs; <br>vcs.push_back( "this   is   A "); <br>vector <string   > ::iterator   it=vcs.begin(); <br>int   i=9; <br>for(;it!=vcs.end();++it) <br>{ <br>cout < < "caplity   of   vector   is   :   " < <vcs.size() < <endl; <br><br>cout < < "---> " < <*it < <endl;   //</span><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">鍘繪帀姝ゅ彞浼氭湁涓涓秴榪?span lang="EN-US">vector <br>                                   //</span>澶у皬鐨勫驚鐜紝楂樻墜鑳借В閲婁竴涓嬩負浠涔?span lang="EN-US">? <br>if(i==9) <br>{ <br>vcs.push_back( "this   is   BBBBB "); <br>cout < < "vcs.push! " < <endl; <br>} <br>i=8; <br>} <br>}<o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-size: 12pt; background: red; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">鍏稿瀷鐨勮凱浠e櫒澶辨晥<span lang="EN-US">....</span></span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt"><o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">  <o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: red; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">vector</span><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">錛?span lang="EN-US"><br>1.</span>褰撴彃鍏ワ紙<span lang="EN-US">push_back</span>錛変竴涓厓绱犲悗錛?span lang="EN-US">end</span>鎿嶄綔榪斿洖鐨勮凱浠e櫒鑲畾澶辨晥銆?span lang="EN-US"><br>2.</span>褰撴彃鍏?span lang="EN-US">(push_back)</span>涓涓厓绱犲悗錛?span lang="EN-US">capacity</span>榪斿洖鍊間笌娌℃湁鎻掑叆鍏冪礌涔嬪墠鐩告瘮鏈夋敼鍙橈紝鍒欓渶瑕侀噸鏂板姞杞芥暣涓鍣紝姝ゆ椂<span lang="EN-US">first</span>鍜?span lang="EN-US">end</span>鎿嶄綔榪斿洖鐨勮凱浠e櫒閮戒細澶辨晥銆?span lang="EN-US"><br>3.</span>褰撹繘琛屽垹闄ゆ搷浣滐紙<span lang="EN-US">erase</span>錛?span lang="EN-US">pop_back</span>錛夊悗錛屾寚鍚戝垹闄ょ偣鐨勮凱浠e櫒鍏ㄩ儴澶辨晥錛涙寚鍚戝垹闄ょ偣鍚庨潰鐨勫厓绱犵殑榪唬鍣ㄤ篃灝嗗叏閮ㄥけ鏁堛?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: red; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">deque</span><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">榪唬鍣ㄧ殑澶辨晥鎯呭喌錛?span lang="EN-US"><br>1.</span>鍦?span lang="EN-US">deque</span>瀹瑰櫒棣栭儴鎴栬呭熬閮ㄦ彃鍏ュ厓绱犱笉浼氫嬌寰椾換浣曡凱浠e櫒澶辨晥銆?span lang="EN-US"><br>2.</span>鍦ㄥ叾棣栭儴鎴栧熬閮ㄥ垹闄ゅ厓绱犲垯鍙細浣挎寚鍚戣鍒犻櫎鍏冪礌鐨勮凱浠e櫒澶辨晥銆?span lang="EN-US"><br>3.</span>鍦?span lang="EN-US">deque</span>瀹瑰櫒鐨勪換浣曞叾浠栦綅緗殑鎻掑叆鍜屽垹闄ゆ搷浣滃皢浣挎寚鍚戣瀹瑰櫒鍏冪礌鐨勬墍鏈夎凱浠e櫒澶辨晥銆?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; background: red; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">List/set/map</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt"><o:p></o:p></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">1.</span><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">鍒犻櫎鏃訛紝鎸囧悜璇ュ垹闄よ妭鐐圭殑榪唬鍣ㄥけ鏁?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">list<int> intList; <br>list<int>::iterator it = intList.begin(); <br>while(it != intList.end()) <br>{ <br>it = intList.erase(it); <br></span><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">鈥︹?span lang="EN-US"> <br>}<o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">鍥?span lang="EN-US">.</span>閫夋嫨鏃舵満<span lang="EN-US"><</span>杞?span lang="EN-US">>--</span>鎬葷粨鍚勭瀹瑰櫒鐗圭偣<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: white; layout-grid-mode: char; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">(1) vector<br></span><span style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: arial; mso-font-kerning: 0pt">鍐呴儴鏁版嵁緇撴瀯錛氭暟緇勩?span lang="EN-US"><br></span>闅忔満璁塊棶姣忎釜鍏冪礌錛屾墍闇瑕佺殑鏃墮棿涓哄父閲忋?span lang="EN-US"><br></span>鍦ㄦ湯灝懼鍔犳垨鍒犻櫎鍏冪礌鎵闇鏃墮棿涓庡厓绱犳暟鐩棤鍏籌紝鍦ㄤ腑闂存垨寮澶村鍔犳垨鍒犻櫎鍏冪礌鎵闇鏃墮棿闅忓厓绱犳暟鐩憟綰挎у彉鍖栥?span lang="EN-US"><br></span>鍙姩鎬佸鍔犳垨鍑忓皯鍏冪礌錛屽唴瀛樼鐞嗚嚜鍔ㄥ畬鎴愶紝浣嗙▼搴忓憳鍙互浣跨敤<span lang="EN-US">reserve()</span>鎴愬憳鍑芥暟鏉ョ鐞嗗唴瀛樸?span lang="EN-US"><br>vector</span>鐨勮凱浠e櫒鍦ㄥ唴瀛橀噸鏂板垎閰嶆椂灝嗗け鏁堬紙瀹冩墍鎸囧悜鐨勫厓绱犲湪璇ユ搷浣滅殑鍓嶅悗涓嶅啀鐩稿悓錛夈傚綋鎶婅秴榪?span lang="EN-US">capacity()-size()</span>涓厓绱犳彃鍏?span lang="EN-US">vector</span>涓椂錛屽唴瀛樹細閲嶆柊鍒嗛厤錛屾墍鏈夌殑榪唬鍣ㄩ兘灝嗗け鏁堬紱鍚﹀垯錛屾寚鍚戝綋鍓嶅厓绱犱互鍚庣殑浠諱綍鍏冪礌鐨勮凱浠e櫒閮藉皢澶辨晥銆傚綋鍒犻櫎鍏冪礌鏃訛紝鎸囧悜琚垹闄ゅ厓绱犱互鍚庣殑浠諱綍鍏冪礌鐨勮凱浠e櫒閮藉皢澶辨晥銆?span lang="EN-US"><br><br>(2)deque<br></span>鍐呴儴鏁版嵁緇撴瀯錛氭暟緇勩?span lang="EN-US"><br></span>闅忔満璁塊棶姣忎釜鍏冪礌錛屾墍闇瑕佺殑鏃墮棿涓哄父閲忋?span lang="EN-US"><br></span>鍦ㄥ紑澶村拰鏈熬澧炲姞鍏冪礌鎵闇鏃墮棿涓庡厓绱犳暟鐩棤鍏籌紝鍦ㄤ腑闂村鍔犳垨鍒犻櫎鍏冪礌鎵闇鏃墮棿闅忓厓绱犳暟鐩憟綰挎у彉鍖栥?span lang="EN-US"><br></span>鍙姩鎬佸鍔犳垨鍑忓皯鍏冪礌錛屽唴瀛樼鐞嗚嚜鍔ㄥ畬鎴愶紝涓嶆彁渚涚敤浜庡唴瀛樼鐞嗙殑鎴愬憳鍑芥暟銆?span lang="EN-US"><br></span>澧炲姞浠諱綍鍏冪礌閮藉皢浣?span lang="EN-US">deque</span>鐨勮凱浠e櫒澶辨晥銆傚湪<span lang="EN-US">deque</span>鐨勪腑闂村垹闄ゅ厓绱犲皢浣胯凱浠e櫒澶辨晥銆傚湪<span lang="EN-US">deque</span>鐨勫ご鎴栧熬鍒犻櫎鍏冪礌鏃訛紝鍙湁鎸囧悜璇ュ厓绱犵殑榪唬鍣ㄥけ鏁堛?span lang="EN-US"><br><br>(3)list<br></span>鍐呴儴鏁版嵁緇撴瀯錛氬弻鍚戠幆鐘墮摼琛ㄣ?span lang="EN-US"><br></span>涓嶈兘闅忔満璁塊棶涓涓厓绱犮?span lang="EN-US"><br></span>鍙弻鍚戦亶鍘嗐?span lang="EN-US"><br></span>鍦ㄥ紑澶淬佹湯灝懼拰涓棿浠諱綍鍦版柟澧炲姞鎴栧垹闄ゅ厓绱犳墍闇鏃墮棿閮戒負甯擱噺銆?span lang="EN-US"><br></span>鍙姩鎬佸鍔犳垨鍑忓皯鍏冪礌錛屽唴瀛樼鐞嗚嚜鍔ㄥ畬鎴愩?span lang="EN-US"><br></span>澧炲姞浠諱綍鍏冪礌閮戒笉浼氫嬌榪唬鍣ㄥけ鏁堛傚垹闄ゅ厓绱犳椂錛岄櫎浜嗘寚鍚戝綋鍓嶈鍒犻櫎鍏冪礌鐨勮凱浠e櫒澶栵紝鍏跺畠榪唬鍣ㄩ兘涓嶄細澶辨晥銆?span lang="EN-US"><br><br>(4)slist<br></span>鍐呴儴鏁版嵁緇撴瀯錛氬崟鍚戦摼琛ㄣ?span lang="EN-US"><br></span>涓嶅彲鍙屽悜閬嶅巻錛屽彧鑳戒粠鍓嶅埌鍚庡湴閬嶅巻銆?span lang="EN-US"><br></span>鍏跺畠鐨勭壒鎬у悓<span lang="EN-US">list</span>鐩鎬技銆?span lang="EN-US"><br><br>(5)stack<br></span>閫傞厤鍣紝瀹冨彲浠ュ皢浠繪剰綾誨瀷鐨勫簭鍒楀鍣ㄨ漿鎹負涓涓爢鏍堬紝涓鑸嬌鐢?span lang="EN-US">deque</span>浣滀負鏀寔鐨勫簭鍒楀鍣ㄣ?span lang="EN-US"><br></span>鍏冪礌鍙兘鍚庤繘鍏堝嚭錛?span lang="EN-US">LIFO</span>錛夈?span lang="EN-US"><br></span>涓嶈兘閬嶅巻鏁翠釜<span lang="EN-US">stack</span>銆?span lang="EN-US"><br><br>(6)queue<br></span>閫傞厤鍣紝瀹冨彲浠ュ皢浠繪剰綾誨瀷鐨勫簭鍒楀鍣ㄨ漿鎹負涓涓槦鍒楋紝涓鑸嬌鐢?span lang="EN-US">deque</span>浣滀負鏀寔鐨勫簭鍒楀鍣ㄣ?span lang="EN-US"><br></span>鍏冪礌鍙兘鍏堣繘鍏堝嚭錛?span lang="EN-US">FIFO</span>錛夈?span lang="EN-US"><br></span>涓嶈兘閬嶅巻鏁翠釜<span lang="EN-US">queue</span>銆?span lang="EN-US"><br><br>(7)priority_queue<br></span>閫傞厤鍣紝瀹冨彲浠ュ皢浠繪剰綾誨瀷鐨勫簭鍒楀鍣ㄨ漿鎹負涓涓紭鍏堢駭闃熷垪錛屼竴鑸嬌鐢?span lang="EN-US">vector</span>浣滀負搴曞眰瀛樺偍鏂瑰紡銆?span lang="EN-US"><br></span>鍙兘璁塊棶絎竴涓厓绱狅紝涓嶈兘閬嶅巻鏁翠釜<span lang="EN-US">priority_queue</span>銆?span lang="EN-US"><br></span>絎竴涓厓绱犲緇堟槸浼樺厛綰ф渶楂樼殑涓涓厓绱犮?span lang="EN-US"><br><br>(8)set<br></span>閿拰鍊肩浉絳夈?span lang="EN-US"><br></span>閿敮涓銆?span lang="EN-US"><br></span>鍏冪礌榛樿鎸夊崌搴忔帓鍒椼?span lang="EN-US"><br></span>濡傛灉榪唬鍣ㄦ墍鎸囧悜鐨勫厓绱犺鍒犻櫎錛屽垯璇ヨ凱浠e櫒澶辨晥銆傚叾瀹冧換浣曞鍔犮佸垹闄ゅ厓绱犵殑鎿嶄綔閮戒笉浼氫嬌榪唬鍣ㄥけ鏁堛?span lang="EN-US"><br><br>(9)multiset<br></span>閿彲浠ヤ笉鍞竴銆?span lang="EN-US"><br></span>鍏跺畠鐗圭偣涓?span lang="EN-US">set</span>鐩稿悓銆?span lang="EN-US"><br><br>(10)hash_set<br></span>涓?span lang="EN-US">set</span>鐩告瘮杈冿紝瀹冮噷闈㈢殑鍏冪礌涓嶄竴瀹氭槸緇忚繃鎺掑簭鐨勶紝鑰屾槸鎸夌収鎵鐢ㄧ殑<span lang="EN-US">hash</span>鍑芥暟鍒嗘淳鐨勶紝瀹冭兘鎻愪緵鏇村揩鐨勬悳绱㈤熷害錛堝綋鐒惰窡<span lang="EN-US">hash</span>鍑芥暟鏈夊叧錛夈?span lang="EN-US"><br></span>鍏跺畠鐗圭偣涓?span lang="EN-US">set</span>鐩稿悓銆?span lang="EN-US"><br><br>(11)hash_multiset<br></span>閿彲浠ヤ笉鍞竴銆?span lang="EN-US"><br></span>鍏跺畠鐗圭偣涓?span lang="EN-US">hash_set</span>鐩稿悓銆?span lang="EN-US"><br><br>(12)map<br></span>閿敮涓銆?span lang="EN-US"><br></span>鍏冪礌榛樿鎸夐敭鐨勫崌搴忔帓鍒椼?span lang="EN-US"><br></span>濡傛灉榪唬鍣ㄦ墍鎸囧悜鐨勫厓绱犺鍒犻櫎錛屽垯璇ヨ凱浠e櫒澶辨晥銆傚叾瀹冧換浣曞鍔犮佸垹闄ゅ厓绱犵殑鎿嶄綔閮戒笉浼氫嬌榪唬鍣ㄥけ鏁堛?span lang="EN-US"><br><br>(13)multimap<br></span>閿彲浠ヤ笉鍞竴銆?span lang="EN-US"><br></span>鍏跺畠鐗圭偣涓?span lang="EN-US">map</span>鐩稿悓銆?span lang="EN-US"><br><br>(14)hash_map<br></span>涓?span lang="EN-US">map</span>鐩告瘮杈冿紝瀹冮噷闈㈢殑鍏冪礌涓嶄竴瀹氭槸鎸夐敭鍊兼帓搴忕殑錛岃屾槸鎸夌収鎵鐢ㄧ殑<span lang="EN-US">hash</span>鍑芥暟鍒嗘淳鐨勶紝瀹冭兘鎻愪緵鏇村揩鐨勬悳绱㈤熷害錛堝綋鐒朵篃璺?span lang="EN-US">hash</span>鍑芥暟鏈夊叧錛夈?span lang="EN-US"><br></span>鍏跺畠鐗圭偣涓?span lang="EN-US">map</span>鐩稿悓銆?span lang="EN-US"><br><br>(15)hash_multimap<br></span>閿彲浠ヤ笉鍞竴銆?span lang="EN-US"><br></span>鍏跺畠鐗圭偣涓?span lang="EN-US">hash_map</span>鐩稿悓銆?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt; color: black; font-family: 瀹嬩綋; mso-bidi-font-family: arial"><o:p> </o:p></span></p> <p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt; color: black; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><o:p> </o:p></span></p><img src ="http://m.shnenglu.com/woaidongmao/aggbug/94925.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2009-08-31 23:08 <a href="http://m.shnenglu.com/woaidongmao/archive/2009/08/31/94925.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>STLPORT鐨刡ughttp://m.shnenglu.com/woaidongmao/archive/2009/07/16/90254.html鑲ヤ粩鑲ヤ粩Thu, 16 Jul 2009 08:52:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2009/07/16/90254.htmlhttp://m.shnenglu.com/woaidongmao/comments/90254.htmlhttp://m.shnenglu.com/woaidongmao/archive/2009/07/16/90254.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/90254.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/90254.html褰撻噰鐢ㄩ潤鎬佽繛鎺ワ紝瀹氫箟浜?,_STLP_USE_STATIC_LIB

string鐨勪笅闈㈢孩鑹蹭唬鐮佸嚭閿欙紝閲囩敤鍔ㄦ佸簱錛屽嵈娌℃湁鍙戠幇榪欎釜闂

template <bool __threads, int __inst>
void* _STLP_CALL
__node_alloc<__threads, __inst>::_M_allocate(size_t __n) {
  void*  __r;
  _Obj * _STLP_VOLATILE * __my_free_list = _S_free_list + _S_FREELIST_INDEX(__n);
  // #       ifdef _STLP_THREADS
  /*REFERENCED*/
  _Node_Alloc_Lock<__threads, __inst> __lock_instance;
  // #       endif
  // Acquire the lock here with a constructor call.
  // This ensures that it is released in exit or during stack
  // unwinding.
  if ( (__r  = *__my_free_list) != 0 ) {
    *__my_free_list = ((_Obj*)__r) -> _M_free_list_link;
  } else {
    __r = _S_refill(__n);
  }

 

瑙e喅鍔炴硶錛?/p>

浣跨敤鍔ㄦ佸簱鐨凷TLPORT



鑲ヤ粩 2009-07-16 16:52 鍙戣〃璇勮
]]>
鍏充簬stl 榪唬鍣ㄥけ鏁?/title><link>http://m.shnenglu.com/woaidongmao/archive/2009/07/09/89653.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Thu, 09 Jul 2009 06:48:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2009/07/09/89653.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/89653.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2009/07/09/89653.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/89653.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/89653.html</trackback:ping><description><![CDATA[<p class="MsoNormal" style="line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">鍏堢湅涓ゆ潯瑙勫埗錛?span lang="EN-US"><br><br><span style="color: red">1</span></span><span style="color: red">錛屽浜庤妭鐐瑰紡瀹瑰櫒<span lang="EN-US">(map, list, set)</span>鍏冪礌鐨勫垹闄わ紝鎻掑叆鎿嶄綔浼氬鑷存寚鍚戣鍏冪礌鐨勮凱浠e櫒澶辨晥錛屽叾浠栧厓绱犺凱浠e櫒涓嶅彈褰卞搷<span lang="EN-US"><br><br>2</span>錛屽浜庨『搴忓紡瀹瑰櫒<span lang="EN-US">(vector)</span>鍏冪礌鐨勫垹闄ゃ佹彃鍏ユ搷浣滀細瀵艱嚧鎸囧悜璇ュ厓绱犱互鍙婂悗闈㈢殑鍏冪礌鐨勮凱浠e櫒澶辨晥</span><span lang="EN-US"><br><br></span>甯歌鐨勯敊璇唬鐮佺ず渚嬶細<span lang="EN-US"><?xml:namespace prefix = o /><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: #eeeeee; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> 1</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_74.gif"><img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image001" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_thumb_24.gif" width="11" border="0" v:shapes="_x0000_i1025"></a><span style="color: blue">struct</span><span style="color: black"> sMem <br></span><span style="color: teal"> 2</span><span style="border-right: gray 1pt solid; padding-right: 0cm; border-top: gray 1pt solid; display: none; padding-left: 0cm; background: white; padding-bottom: 0cm; border-left: gray 1pt solid; padding-top: 0cm; border-bottom: gray 1pt solid; mso-hide: all; mso-border-alt: solid gray .75pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_42.gif"><img title="clip_image002" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="24" alt="clip_image002" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_thumb_12.gif" width="19" border="0" v:shapes="_x0000_i1026"></a></span><span style="color: black">{<br></span><span style="color: teal"> 3</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_50.gif"><img title="clip_image003" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image003" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_thumb_14.gif" width="11" border="0" v:shapes="_x0000_i1027"></a>    </span><span style="color: blue">int</span><span style="color: black"> m_i;<br></span><span style="color: teal"> 4</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_52.gif"><img title="clip_image003" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image003" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_thumb_15.gif" width="11" border="0" v:shapes="_x0000_i1028"></a>    sMem(</span><span style="color: blue">int</span><span style="color: black"> i = 10)<br></span><span style="color: teal"> 5</span><span style="color: black">    </span><span style="border-right: gray 1pt solid; padding-right: 0cm; border-top: gray 1pt solid; display: none; padding-left: 0cm; background: white; padding-bottom: 0cm; border-left: gray 1pt solid; padding-top: 0cm; border-bottom: gray 1pt solid; mso-hide: all; mso-border-alt: solid gray .75pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_44.gif"><img title="clip_image002" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="24" alt="clip_image002" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_thumb_13.gif" width="19" border="0" v:shapes="_x0000_i1029"></a></span><span style="color: black">{<br></span><span style="color: teal"> 6</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_54.gif"><img title="clip_image003" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image003" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_thumb_16.gif" width="11" border="0" v:shapes="_x0000_i1030"></a>        m_i = i;<br></span><span style="color: teal"> 7</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image004_30.gif"><img title="clip_image004" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image004" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image004_thumb_11.gif" width="11" border="0" v:shapes="_x0000_i1031"></a>    }<br></span><span style="color: teal"> 8</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_56.gif"><img title="clip_image003" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image003" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_thumb_17.gif" width="11" border="0" v:shapes="_x0000_i1032"></a><br></span><span style="color: teal"> 9</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_58.gif"><img title="clip_image003" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image003" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_thumb_18.gif" width="11" border="0" v:shapes="_x0000_i1033"></a>    </span><span style="color: blue">int</span><span style="color: black"> GetI()<br></span><span style="color: teal">10</span><span style="color: black">    </span><span style="border-right: gray 1pt solid; padding-right: 0cm; border-top: gray 1pt solid; display: none; padding-left: 0cm; background: white; padding-bottom: 0cm; border-left: gray 1pt solid; padding-top: 0cm; border-bottom: gray 1pt solid; mso-hide: all; mso-border-alt: solid gray .75pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_46.gif"><img title="clip_image002" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="24" alt="clip_image002" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_thumb_14.gif" width="19" border="0" v:shapes="_x0000_i1034"></a></span><span style="color: black">{<br></span><span style="color: teal">11</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_60.gif"><img title="clip_image003" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image003" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_thumb_19.gif" width="11" border="0" v:shapes="_x0000_i1035"></a>        </span><span style="color: blue">return</span><span style="color: black"> m_i;<br></span><span style="color: teal">12</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image004_32.gif"><img title="clip_image004" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image004" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image004_thumb_12.gif" width="11" border="0" v:shapes="_x0000_i1036"></a>    }<br></span><span style="color: teal">13</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image005_42.gif"><img title="clip_image005" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image005" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image005_thumb_18.gif" width="11" border="0" v:shapes="_x0000_i1037"></a>};</span><o:p></o:p></span></p> <p class="MsoNormal" style="background: #eeeeee; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">1</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_76.gif"><img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image001" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_thumb_25.gif" width="11" border="0" v:shapes="_x0000_i1038"></a><span style="color: black"><br></span><span style="color: teal">2</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_78.gif"><img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image001" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_thumb_26.gif" width="11" border="0" v:shapes="_x0000_i1039"></a>typedef vector<sMem*> sMemList;<br></span><span style="color: teal">3</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_80.gif"><img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image001" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_thumb_27.gif" width="11" border="0" v:shapes="_x0000_i1040"></a>typedef vector<sMem*>::iterator sIT;<br></span><span style="color: teal">4</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_82.gif"><img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image001" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_thumb_28.gif" width="11" border="0" v:shapes="_x0000_i1041"></a>sMemList MemList;</span><o:p></o:p></span></p> <p class="MsoNormal" style="background: #eeeeee; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> 1</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_84.gif"><img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image001" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_thumb_29.gif" width="11" border="0" v:shapes="_x0000_i1042"></a><span style="color: black">    </span><span style="color: green">// </span></span><span style="font-size: 12pt; color: green; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">榪唬鍣ㄥけ鏁?span lang="EN-US"><br></span></span><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> 2</span><span lang="EN-US" style="font-size: 12pt; color: green; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_86.gif"><img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image001" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_thumb_30.gif" width="11" border="0" v:shapes="_x0000_i1043"></a></span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">    </span><span lang="EN-US" style="font-size: 12pt; color: blue; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">for</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> (sIT it = MemList.begin(); it != MemList.end(); ++it)<br></span><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> 3</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">    </span><span lang="EN-US" style="border-right: gray 1pt solid; padding-right: 0cm; border-top: gray 1pt solid; display: none; padding-left: 0cm; font-size: 12pt; background: white; padding-bottom: 0cm; border-left: gray 1pt solid; line-height: 150%; padding-top: 0cm; border-bottom: gray 1pt solid; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt; mso-hide: all; mso-border-alt: solid gray .75pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_48.gif"><img title="clip_image002" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="24" alt="clip_image002" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_thumb_15.gif" width="19" border="0" v:shapes="_x0000_i1044"></a></span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">{<br></span><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> 4</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_62.gif"><img title="clip_image003" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image003" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_thumb_20.gif" width="11" border="0" v:shapes="_x0000_i1045"></a>        </span><span lang="EN-US" style="font-size: 12pt; color: blue; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">if</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> ((*it)->GetI() == 10)<br></span><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> 5</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_64.gif"><img title="clip_image003" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image003" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_thumb_21.gif" width="11" border="0" v:shapes="_x0000_i1046"></a>            MemList.erase(it);<br></span><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> 6</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_66.gif"><img title="clip_image003" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image003" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_thumb_22.gif" width="11" border="0" v:shapes="_x0000_i1047"></a>        </span><span lang="EN-US" style="font-size: 12pt; color: blue; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">else</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><br></span><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> 7</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">        </span><span lang="EN-US" style="border-right: gray 1pt solid; padding-right: 0cm; border-top: gray 1pt solid; display: none; padding-left: 0cm; font-size: 12pt; background: white; padding-bottom: 0cm; border-left: gray 1pt solid; line-height: 150%; padding-top: 0cm; border-bottom: gray 1pt solid; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt; mso-hide: all; mso-border-alt: solid gray .75pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_50.gif"><img title="clip_image002" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="24" alt="clip_image002" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_thumb_16.gif" width="19" border="0" v:shapes="_x0000_i1048"></a></span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">{<br></span><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> 8</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_68.gif"><img title="clip_image003" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image003" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image003_thumb_23.gif" width="11" border="0" v:shapes="_x0000_i1049"></a>            printf("%d:%d\n", i++, (*it)->GetI());<br></span><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> 9</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image004_34.gif"><img title="clip_image004" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image004" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image004_thumb_13.gif" width="11" border="0" v:shapes="_x0000_i1050"></a>        }<br></span><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">10</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image005_44.gif"><img title="clip_image005" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image005" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image005_thumb_19.gif" width="11" border="0" v:shapes="_x0000_i1051"></a>    }</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><o:p></o:p></span></p> <p class="MsoNormal" style="line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><br></span><span style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">涓ょ瑙e喅鏂規(guī)硶錛?span lang="EN-US"><br></span>瀵逛簬欏哄簭瀹瑰櫒錛?<span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: #eeeeee; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_88.gif"><img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image001" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_thumb_31.gif" width="11" border="0" v:shapes="_x0000_i1052"></a><span style="color: black"><br><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_90.gif"><img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image001" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_thumb_32.gif" width="11" border="0" v:shapes="_x0000_i1053"></a></span><span style="color: blue">bool</span><span style="color: black"> Equal10(sMem* pMem)<br></span><span style="border-right: gray 1pt solid; padding-right: 0cm; border-top: gray 1pt solid; display: none; padding-left: 0cm; background: white; padding-bottom: 0cm; border-left: gray 1pt solid; padding-top: 0cm; border-bottom: gray 1pt solid; mso-hide: all; mso-border-alt: solid gray .75pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_52.gif"><img title="clip_image002" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="24" alt="clip_image002" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_thumb_17.gif" width="19" border="0" v:shapes="_x0000_i1054"></a></span><span style="color: black">{<o:p></o:p></span></span></p> <p class="MsoNormal" style="background: #eeeeee; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">    </span><span lang="EN-US" style="font-size: 12pt; color: blue; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">return</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> pMem->GetI() == 10 ? </span><span lang="EN-US" style="font-size: 12pt; color: blue; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">true</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> : </span><span lang="EN-US" style="font-size: 12pt; color: blue; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">false</span><span lang="EN-US" style="font-size: 12pt; color: black; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">;<br>}</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><o:p></o:p></span></p> <p class="MsoNormal" style="background: #eeeeee; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">1</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_92.gif"><img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image001" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_thumb_33.gif" width="11" border="0" v:shapes="_x0000_i1055"></a><span style="color: black">MemList.erase(remove_if(MemList.begin(), MemList.end(), Equal10));</span><o:p></o:p></span></p> <p class="MsoNormal" style="line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><br></span><span style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt">瀵逛簬緇撶偣瀹瑰櫒錛?span lang="EN-US"><o:p></o:p></span></span></p> <p class="MsoNormal" style="background: #eeeeee; word-break: break-all; line-height: 150%; text-align: left; mso-pagination: widow-orphan" align="left"><span lang="EN-US" style="font-size: 12pt; color: teal; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"> 1</span><span lang="EN-US" style="font-size: 12pt; line-height: 150%; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋; mso-font-kerning: 0pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_94.gif"><img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image001" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_thumb_34.gif" width="11" border="0" v:shapes="_x0000_i1056"></a><span style="color: black">    </span><span style="color: blue">for</span><span style="color: black"> (sIT it = MemList.begin();<br></span><span style="color: teal"> 2</span><span style="color: black"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_96.gif"><img title="clip_image001" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="16" alt="clip_image001" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image001_thumb_35.gif" width="11" border="0" v:shapes="_x0000_i1057"></a>        it != MemList.end(); )<br></span><span style="color: teal"> 3</span><span style="color: black">    </span><span style="border-right: gray 1pt solid; padding-right: 0cm; border-top: gray 1pt solid; display: none; padding-left: 0cm; background: white; padding-bottom: 0cm; border-left: gray 1pt solid; padding-top: 0cm; border-bottom: gray 1pt solid; mso-hide: all; mso-border-alt: solid gray .75pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_54.gif"><img title="clip_image002" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="24" alt="clip_image002" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_thumb_18.gif" width="19" border="0" v:shapes="_x0000_i1058"></a></span><span style="color: black">{<br></span><span style="color: teal"> 4</span><span style="color: black">        </span><span style="color: blue">if</span><span style="color: black"> ((*it).second->GetI() == 10)<br></span><span style="color: teal"> 5</span><span style="color: black">            MemList.erase(it++);<br></span><span style="color: teal"> 6</span><span style="color: black">        </span><span style="color: blue">else</span><span style="color: black"><br></span><span style="color: teal"> 7</span><span style="color: black">        </span><span style="border-right: gray 1pt solid; padding-right: 0cm; border-top: gray 1pt solid; display: none; padding-left: 0cm; background: white; padding-bottom: 0cm; border-left: gray 1pt solid; padding-top: 0cm; border-bottom: gray 1pt solid; mso-hide: all; mso-border-alt: solid gray .75pt"><a href="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_56.gif"><img title="clip_image002" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="24" alt="clip_image002" src="http://m.shnenglu.com/images/cppblog_com/woaidongmao/WindowsLiveWriter/stl_D009/clip_image002_thumb_19.gif" width="19" border="0" v:shapes="_x0000_i1059"></a></span><span style="color: black">{<br></span><span style="color: teal"> 8</span><span style="color: black">            printf("%d:%d\n", i++, (*it).second->GetI());<br></span><span style="color: teal"> 9</span><span style="color: black">            it++;<br></span><span style="color: teal">10</span><span style="color: black">        }<br></span><span style="color: teal">11</span><span style="color: black">    }</span><o:p></o:p></span></p> <p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: arial"><o:p> </o:p></span></p><img src ="http://m.shnenglu.com/woaidongmao/aggbug/89653.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2009-07-09 14:48 <a href="http://m.shnenglu.com/woaidongmao/archive/2009/07/09/89653.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>stlport鐨刲ink errorhttp://m.shnenglu.com/woaidongmao/archive/2009/05/18/83275.html鑲ヤ粩鑲ヤ粩Mon, 18 May 2009 06:32:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2009/05/18/83275.htmlhttp://m.shnenglu.com/woaidongmao/comments/83275.htmlhttp://m.shnenglu.com/woaidongmao/archive/2009/05/18/83275.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/83275.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/83275.html
涓涓嬪嚑涓楠ょ粍鍚堜細寮曞彂榪欎釜闂
1銆佸湪stdafx.h涓畾涔変簡“_STLP_USE_STATIC_LIB”錛屼嬌鐢ㄩ潤鎬佸簱榪炴帴錛?br>2銆佷絾鏄殑鏈塩pp鏂囦歡浣跨敤浜哠TLPort錛屼絾鏄緗負涓嶄嬌鐢ㄥご鏂囦歡錛屼篃灝辨槸娌℃湁#include"stdafx.h"錛?br>
瑙e喅鍔炴硶錛?br>鎶?#8220;_STLP_USE_STATIC_LIB”鐨勫畾涔夋斁鍦?Project Settings閲岄潰銆?/p>

鑲ヤ粩 2009-05-18 14:32 鍙戣〃璇勮
]]>
STL 浠垮嚱鏁板垪琛?/title><link>http://m.shnenglu.com/woaidongmao/archive/2008/11/09/66384.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Sat, 08 Nov 2008 17:14:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2008/11/09/66384.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/66384.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2008/11/09/66384.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/66384.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/66384.html</trackback:ping><description><![CDATA[<table class="MsoNormalTable" style="mso-cellspacing: 1.5pt" cellpadding="0" border="0"> <tbody> <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"> <td style="padding-right: 0.75pt; padding-left: 0.75pt; padding-bottom: 0.75pt; padding-top: 0.75pt"> <p><span lang="EN-US"><?xml:namespace prefix = o /><o:p> </o:p></span></p></td></tr> <tr style="mso-yfti-irow: 1"> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: #dadada; padding-bottom: 0.75pt; padding-top: 0.75pt" colspan="2"> <p class="MsoNormal" style="text-align: center" align="center"><b><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋"><a title="Sort by this column" ><span lang="EN-US" style="color: black"><span lang="EN-US">鍚嶇О</span></span><span lang="EN-US" style="color: black"><span lang="EN-US"> </span></span></a></span></b><b><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></b></p></td> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: #dadada; padding-bottom: 0.75pt; padding-top: 0.75pt"> <p class="MsoNormal" style="text-align: center" align="center"><b><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋"><a title="Sort by this column" ><span lang="EN-US" style="color: black"><span lang="EN-US">鍔熻兘鎻忚堪</span></span><span lang="EN-US" style="color: black"><span lang="EN-US"> </span></span></a></span></b><b><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></b></p></td></tr> <tr style="mso-yfti-irow: 2"> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: white; padding-bottom: 0.75pt; padding-top: 0.75pt" colspan="2"> <p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋">equal_to</span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></p></td> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: white; padding-bottom: 0.75pt; padding-top: 0.75pt"> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 瀹嬩綋">鐩哥瓑</span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></p></td></tr> <tr style="mso-yfti-irow: 3"> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: #eaeaea; padding-bottom: 0.75pt; padding-top: 0.75pt" colspan="2"> <p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋">not_equal_to</span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></p></td> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: #eaeaea; padding-bottom: 0.75pt; padding-top: 0.75pt"> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 瀹嬩綋">涓嶇浉絳?/span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></p></td></tr> <tr style="mso-yfti-irow: 4"> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: white; padding-bottom: 0.75pt; padding-top: 0.75pt" colspan="2"> <p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋">less</span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></p></td> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: white; padding-bottom: 0.75pt; padding-top: 0.75pt"> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 瀹嬩綋">灝忎簬</span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></p></td></tr> <tr style="mso-yfti-irow: 5"> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: #eaeaea; padding-bottom: 0.75pt; padding-top: 0.75pt" colspan="2"> <p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋">greater</span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></p></td> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: #eaeaea; padding-bottom: 0.75pt; padding-top: 0.75pt"> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 瀹嬩綋">澶т簬</span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></p></td></tr> <tr style="mso-yfti-irow: 6"> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: white; padding-bottom: 0.75pt; padding-top: 0.75pt" colspan="2"> <p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋">less_equal</span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></p></td> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: white; padding-bottom: 0.75pt; padding-top: 0.75pt"> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 瀹嬩綋">灝忎簬絳変簬</span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></p></td></tr> <tr style="mso-yfti-irow: 7; mso-yfti-lastrow: yes"> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: #eaeaea; padding-bottom: 0.75pt; padding-top: 0.75pt" colspan="2"> <p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋">greater_equal</span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></p></td> <td style="padding-right: 0.75pt; padding-left: 0.75pt; background: #eaeaea; padding-bottom: 0.75pt; padding-top: 0.75pt"> <p class="MsoNormal"><span style="font-size: 12pt; font-family: 瀹嬩綋">澶т簬絳変簬</span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: 瀹嬩綋"><o:p></o:p></span></p></td></tr> <tr height="0"> <td style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none" width="67"></td> <td style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none" width="42"></td> <td style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none" width="73"></td></tr></tbody></table> <p>瀹炰緥錛?span lang="EN-US"><br>//less<int>()</span>榛樿鎺掑簭錛嶏紞鍗囧簭<span lang="EN-US"><br>//greater<int>()<br>vector < <span style="color: brown">int</span> > vect;<span style="color: green"><br>//...</span><br>sort(vect.begin(), vect.end());<span style="color: green"><br>//</span></span><span style="color: green">姝ゆ椂鐩稿綋浜庤皟鐢?/span><span lang="EN-US"><br>sort(vect.begin(), vect.end(), less<<span style="color: brown">int</span>>() );<o:p></o:p></span></p> <p class="MsoNormal"><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋"><a >http://www.stlchina.org/twiki/bin/view.pl/Main/STLSortAlgorithms?sortcol=0;table=2;up=0#sorted_table</a></span><span lang="EN-US" style="font-size: 12pt; font-family: 瀹嬩綋; mso-bidi-font-family: arial"><o:p></o:p></span></p><img src ="http://m.shnenglu.com/woaidongmao/aggbug/66384.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2008-11-09 01:14 <a href="http://m.shnenglu.com/woaidongmao/archive/2008/11/09/66384.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>std::find鐢ㄦ硶閿欒璁板綍http://m.shnenglu.com/woaidongmao/archive/2008/11/06/66130.html鑲ヤ粩鑲ヤ粩Thu, 06 Nov 2008 07:33:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/11/06/66130.htmlhttp://m.shnenglu.com/woaidongmao/comments/66130.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/11/06/66130.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/66130.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/66130.html//---- std::find榪斿洖鐨勬槸鎵懼埌鐨勮凱浠e櫒浣嶇疆錛屽鏋滄病鏈夋壘鍒幫紝浼氳繑鍥瀕ast iter錛屽叾浠栫畻娉曠被浼?/p>

int data[32] = {0};

int* pFind = NULL;

if(pFind = std::find_if(data, data + sizeof(data)/sizeof(int), cmp_fun))//---鍒ゆ柇鎵懼埌浜?/p>

 

//---- 姝g‘鐨勬槸

if((data + sizeof(data)/sizeof(int)) != (pFind = std::find_if(data, data + sizeof(data)/sizeof(int), cmp_fun)))//---鍒ゆ柇鎵懼埌浜?/p>

鑲ヤ粩 2008-11-06 15:33 鍙戣〃璇勮
]]>
STLPort 鐨勯瀹氫箟http://m.shnenglu.com/woaidongmao/archive/2008/10/20/64468.html鑲ヤ粩鑲ヤ粩Mon, 20 Oct 2008 02:16:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/10/20/64468.htmlhttp://m.shnenglu.com/woaidongmao/comments/64468.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/10/20/64468.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/64468.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/64468.html 

涓銆佷嬌鐢ㄩ潤鎬佽繛鎺ワ紝鍚﹀垯闇瑕乻tlport鐨刣ll

#define _STLP_USE_STATIC_LIB

鏀懼埌ALT+F7->C++->Preprocessor definitions閲岄潰鍗沖彲錛圖EBUG鍜孯ELEASE閮芥敼錛?/p>

鑲ヤ粩 2008-10-20 10:16 鍙戣〃璇勮
]]>
Boost Serialization 搴撴暀紼?/title><link>http://m.shnenglu.com/woaidongmao/archive/2008/10/19/64345.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Sat, 18 Oct 2008 16:38:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2008/10/19/64345.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/64345.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2008/10/19/64345.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/64345.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/64345.html</trackback:ping><description><![CDATA[<p>杈撳嚭妗f(archive)綾諱技浜庤緭鍑烘暟鎹祦(stream)銆傛暟鎹兘閫氳繃<< 鎴?& 鎿嶄綔絎﹀瓨鍌ㄥ埌妗f(archive)涓? <pre><code> </code></pre><pre><code>ar << data;</code></pre><pre><code>ar & data;</code></pre> <p>杈撳叆妗f(archive)綾諱技浜庤緭鍏ユ暟鎹祦(stream)銆傛暟鎹兘閫氳繃>> 鎴?& 鎿嶄綔絎︿粠妗f(archive)涓杞姐?<pre><code> </code></pre><pre><code>ar >> data;</code></pre><pre><code>ar & data;</code></pre> <p>瀵逛簬鍘熷鏁版嵁綾誨瀷錛屽綋榪欎簺鎿嶄綔璋冪敤鐨勬椂鍊欙紝鏁版嵁鏄畝鍗曠殑鈥滆瀛樺偍/琚杞解?鈥滃埌/浠庘?妗f(archive)銆傚浜庣被(class)鏁版嵁綾誨瀷錛岀被鐨剆erialize 鍑芥暟琚皟鐢ㄣ傚涓婇潰鐨勬搷浣滐紝姣忎釜serialize 鍑芥暟鐢ㄦ潵鈥滃瓨鍌?瑁呰澆鈥濆叾鏁版嵁鎴愬憳銆傝繖涓鐞嗛噰鐢ㄩ掑綊鐨勬柟寮忥紝鐩村埌鎵鏈夊寘鍚湪綾諱腑鐨勬暟鎹滆瀛樺偍/琚杞解濄? <p>  <h5><a name="simplecase">涓涓潪甯哥畝鍗曠殑鎯呭艦</a></h5> <p>閫氬父鐢╯erialize 鍑芥暟鏉ュ瓨鍌ㄥ拰瑁呰澆綾葷殑鏁版嵁鎴愬憳銆? <p>榪欎釜搴撳寘鍚竴涓彨 <a >demo.cpp</a> 鐨勭▼搴忥紝鐢ㄤ簬浠嬬粛濡備綍鐢ㄨ繖涓簱銆備笅闈紝鎴戜滑浠庤繖涓猟emo鎽樺綍浠g爜錛屾潵浠嬬粛榪欎釜搴撳簲鐢ㄧ殑鏈綆鍗曟儏褰€?pre><code> </code></pre><pre><code>#include <fstream></code></pre><pre><code> </code></pre><pre><code>// include headers that implement a archive in simple text format</code></pre><pre><code>#include <boost/archive/text_oarchive.hpp></code></pre><pre><code>#include <boost/archive/text_iarchive.hpp></code></pre><pre><code> </code></pre><pre><code>/////////////////////////////////////////////////////////////</code></pre><pre><code>// gps coordinate</code></pre><pre><code>//</code></pre><pre><code>// illustrates serialization for a simple type</code></pre><pre><code>//</code></pre><pre><code>class gps_position</code></pre><pre><code>{</code></pre><pre><code>private:</code></pre><pre><code>    friend class boost::serialization::access;</code></pre><pre><code>    // When the class Archive corresponds to an output archive, the</code></pre><pre><code>    // & operator is defined similar to <<.  Likewise, when the class Archive</code></pre><pre><code>    // is a type of input archive the & operator is defined similar to >>.</code></pre><pre><code>    template<class Archive></code></pre><pre><code>    void serialize(Archive & ar, const unsigned int version)</code></pre><pre><code>    {</code></pre><pre><code>        ar & degrees;</code></pre><pre><code>        ar & minutes;</code></pre><pre><code>        ar & seconds;</code></pre><pre><code>    }</code></pre><pre><code>    int degrees;</code></pre><pre><code>    int minutes;</code></pre><pre><code>    float seconds;</code></pre><pre><code>public:</code></pre><pre><code>    gps_position(){};</code></pre><pre><code>    gps_position(int d, int m, float s) :</code></pre><pre><code>        degrees(d), minutes(m), seconds(s)</code></pre><pre><code>    {}</code></pre><pre><code>};</code></pre><pre><code> </code></pre><pre><code>int main() {</code></pre><pre><code>    // create and open a character archive for output</code></pre><pre><code>    std::ofstream ofs("filename");</code></pre><pre><code>    boost::archive::text_oarchive oa(ofs);</code></pre><pre><code> </code></pre><pre><code>    // create class instance</code></pre><pre><code>    const gps_position g(35, 59, 24.567f);</code></pre><pre><code>    // write class instance to archive</code></pre><pre><code>    oa << g;</code></pre><pre><code>    // close archive</code></pre><pre><code>    ofs.close();</code></pre><pre><code> </code></pre><pre><code>    // ... some time later restore the class instance to its orginal state</code></pre><pre><code>    // create and open an archive for input</code></pre><pre><code>    std::ifstream ifs("filename", std::ios::binary);</code></pre><pre><code>    boost::archive::text_iarchive ia(ifs);</code></pre><pre><code>    // read class state from archive</code></pre><pre><code>    gps_position newg;</code></pre><pre><code>    ia >> newg;</code></pre><pre><code>    // close archive</code></pre><pre><code>    ifs.close();</code></pre><pre><code>    return 0;</code></pre><pre><code>}</code></pre><pre> </pre> <p>瀵逛簬姣忎釜閫氳繃搴忓垪鍖栤滆瀛樺偍鈥濈殑綾伙紝蹇呴』瀛樺湪涓涓嚱鏁板幓瀹炵幇鈥滃瓨鍌ㄢ濆叾鎵鏈夌姸鎬佹暟鎹傚浜庢瘡涓氳繃搴忓垪鍖栤滆瑁呰澆鈥濈殑綾伙紝蹇呴』瀛樺湪涓涓嚱鏁版潵瀹炵幇鈥滆杞解濆叾鎵鏈夌姸鎬佹暟鎹傚湪涓婇潰鐨勪緥瀛愪腑錛岃繖浜涘嚱鏁版槸妯℃澘鎴愬憳鍑芥暟serialize銆? <p>  <h5><a name="nonintrusiveversion">闈炰鏡鍏ョ殑鐗堟湰</a></h5> <p>鍦ㄤ笂渚嬫槸渚靛叆鐨勮璁°傜被鏄渶瑕佺敱鍏跺疄渚嬫潵搴忓垪鍖栵紝鏉ユ敼鍙樸傝繖鍦ㄦ煇浜涙儏褰㈡槸鍥伴毦鐨勩備竴涓瓑浠風殑鍙夌殑璁捐濡備笅錛?pre><code> </code></pre><pre><code>#include <boost/archive/text_oarchive.hpp></code></pre><pre><code>#include <boost/archive/text_iarchive.hpp></code></pre><pre><code> </code></pre><pre><code>class gps_position</code></pre><pre><code>{</code></pre><pre><code>public:</code></pre><pre><code>    int degrees;</code></pre><pre><code>    int minutes;</code></pre><pre><code>    float seconds;</code></pre><pre><code>    gps_position(){};</code></pre><pre><code>    gps_position(int d, int m, float s) :</code></pre><pre><code>        degrees(d), minutes(m), seconds(s)</code></pre><pre><code>    {}</code></pre><pre><code>};</code></pre><pre><code> </code></pre><pre><code>namespace boost {</code></pre><pre><code>namespace serialization {</code></pre><pre><code> </code></pre><pre><code>template<class Archive></code></pre><pre><code>void serialize(Archive & ar, gps_position & g, const unsigned int version)</code></pre><pre><code>{</code></pre><pre><code>    ar & g.degrees;</code></pre><pre><code>    ar & g.minutes;</code></pre><pre><code>    ar & g.seconds;</code></pre><pre><code>}</code></pre><pre><code> </code></pre><pre><code>} // namespace serialization</code></pre><pre><code>} // namespace boost</code></pre> <p>榪欑鎯呭喌鐢熸垚鐨剆erialize 鍑芥暟涓嶆槸gps_position綾葷殑鎴愬憳鍑芥暟銆傝繖鏈夊紓鏇插悓宸ヤ箣濡欍? <p>闈炰鏡鍏ュ簭鍒楀寲涓昏搴旂敤鍦ㄤ笉鏀瑰彉綾誨畾涔夊氨鍙疄鐜扮被鐨勫簭鍒楀寲銆備負瀹炵幇榪欑鍙兘錛岀被蹇呴』鎻愪緵瓚沖鐨勪俊鎭潵鏇存柊綾葷姸鎬併傚湪榪欎釜渚嬪瓙涓紝鎴戜滑鍋囪綾繪湁public鎴愬憳銆備粎褰撴彁渚涜凍澶熶俊鎭潵瀛樺偍鍜岃杞界殑綾伙紝鎵嶈兘涓嶆敼鍙樼被鑷韓錛屽湪澶栭儴鏉ュ簭鍒楀寲綾葷姸鎬併? <p>  <h5><a name="serializablemembers">鍙簭鍒楀寲鐨勬垚鍛?/a></h5> <p>涓涓彲搴忓垪鍖栫殑綾伙紝鍙嫢鏈夊彲搴忓垪鍖栫殑鎴愬憳錛屼緥濡傦細 <pre><code> </code></pre><pre><code>class bus_stop</code></pre><pre><code>{</code></pre><pre><code>    friend class boost::serialization::access;</code></pre><pre><code>    template<class Archive></code></pre><pre><code>    void serialize(Archive & ar, const unsigned int version)</code></pre><pre><code>    {</code></pre><pre><code>        ar & latitude;</code></pre><pre><code>        ar & longitude;</code></pre><pre><code>    }</code></pre><pre><code>    gps_position latitude;</code></pre><pre><code>    gps_position longitude;</code></pre><pre><code>protected:</code></pre><pre><code>    bus_stop(const gps_position & lat_, const gps_position & long_) :</code></pre><pre><code>    latitude(lat_), longitude(long_)</code></pre><pre><code>    {}</code></pre><pre><code>public:</code></pre><pre><code>    bus_stop(){}</code></pre><pre><code>    // See item # 14 in Effective C++ by Scott Meyers.</code></pre><pre><code>    // re non-virtual destructors in base classes.</code></pre><pre><code>    virtual ~bus_stop(){}</code></pre><pre><code>};</code></pre> <p>榪欓噷錛岀被綾誨瀷鐨勬垚鍛樿搴忓垪鍖栵紝鎭板鍘熷綾誨瀷琚簭鍒楀寲涓鏍楓? <p>娉ㄦ剰錛岀被bus_stop鐨勫疄渚嬧滃瓨鍌ㄢ濇椂錛屽叾褰掓。(archive)鎿嶄綔絎﹀皢璋冪敤latitude 鍜?longitude鐨剆erialize 鍑芥暟銆傝繖灝嗕緷嬈¤皟鐢ㄥ畾涔夊湪gps_position涓殑serialize 鏉ヨ鈥滃瓨鍌ㄢ濄傝繖縐嶆墜娉曚腑錛岄氳繃<code>bus_stop</code>鐨勫綊妗?archive)鎿嶄綔絎?鏁翠釜鏁版嵁緇撴瀯琚瓨鍌?<code>bus_stop</code>鏄畠鐨勬牴鏉$洰銆? <p>  <h5><a name="derivedclasses">媧劇敓綾?/a></h5> <p>媧劇敓綾誨簲鍖呭惈鍏跺熀綾葷殑搴忓垪鍖栥?<pre><code> </code></pre><pre><code>#include <boost/serialization/base_object.hpp></code></pre><pre><code> </code></pre><pre><code>class bus_stop_corner : public bus_stop</code></pre><pre><code>{</code></pre><pre><code>    friend class boost::serialization::access;</code></pre><pre><code>    template<class Archive></code></pre><pre><code>    void serialize(Archive & ar, const unsigned int version)</code></pre><pre><code>    {</code></pre><pre><code>        // serialize base class information</code></pre><pre><code>        ar & boost::serialization::base_object<bus_stop>(*this);</code></pre><pre><code>        ar & street1;</code></pre><pre><code>        ar & street2;</code></pre><pre><code>    }</code></pre><pre><code>    std::string street1;</code></pre><pre><code>    std::string street2;</code></pre><pre><code>    virtual std::string description() const</code></pre><pre><code>    {</code></pre><pre><code>        return street1 + " and " + street2;</code></pre><pre><code>    }</code></pre><pre><code>public:</code></pre><pre><code>    bus_stop_corner(){}</code></pre><pre><code>    bus_stop_corner(const gps_position & lat_, const gps_position & long_,</code></pre><pre><code>        const std::string & s1_, const std::string & s2_</code></pre><pre><code>    ) :</code></pre><pre><code>        bus_stop(lat_, long_), street1(s1_), street2(s2_)</code></pre><pre><code>    {}</code></pre><pre><code>};</code></pre><pre> </pre> <p>娉ㄦ剰鍦ㄦ淳鐢熺被涓笉瑕佺洿鎺ヨ皟鐢ㄥ叾鍩虹被鐨勫簭鍒楀寲鍑芥暟銆傝繖鏍峰仛鐪嬩技宸ヤ綔錛屽疄闄呬笂緇曡繃璺熻釜瀹炰緥鐢ㄤ簬瀛樺偍鏉ユ秷闄ゅ啑浣欑殑浠g爜銆傚畠涔熺粫榪囧啓鍒版。妗堜腑綾葷殑鐗堟湰淇℃伅鐨勪唬鐮併傚洜姝わ紝鎬繪槸澹版槑serialize 浣滀負縐佹湁鍑芥暟銆傚0鏄巉riend boost::serialization::access 灝嗚繍琛屽簭鍒楀寲搴撳瓨鍙栫鏈夊彉閲忓拰鍑芥暟銆? <p>  <h5><a name="pointers">鎸囬拡</a></h5> <p>鍋囪鎴戜滑瀹氫箟浜哹us route鍖呭惈涓緇刡us stops銆傚亣瀹氾細 <ol> <li>鎴戜滑鍙互鏈夊嚑縐峛us stop鐨勭被鍨嬶紙璁頒綇bus_stop鏄竴涓熀綾伙級銆? <li>涓涓墍緇欑殑 bus_stop鍙互灞曠幇澶氫簬涓涓殑璺嚎銆?</li></ol> <p>涓涓猙us route 鐢ㄤ竴緇勬寚鍚慴us_stop鐨勬寚閽堟潵鎻忚堪鏄柟渚跨殑銆?pre><code> </code></pre><pre><code>class bus_route</code></pre><pre><code>{</code></pre><pre><code>    friend class boost::serialization::access;</code></pre><pre><code>    bus_stop * stops[10];</code></pre><pre><code>    template<class Archive></code></pre><pre><code>    void serialize(Archive & ar, const unsigned int version)</code></pre><pre><code>    {</code></pre><pre><code>        int i;</code></pre><pre><code>        for(i = 0; i < 10; ++i)</code></pre><pre><code>            ar & stops[i];</code></pre><pre><code>    }</code></pre><pre><code>public:</code></pre><pre><code>    bus_route(){}</code></pre><pre><code>};</code></pre><pre> </pre> <p>鏁扮粍stops 鐨勬瘡涓垚鍛樺皢琚簭鍒楀寲銆備絾鏄紝璁頒綇姣忎釜鎴愬憳鏄釜鎸囬拡銆?- 瀹為檯鍚箟鏄粈涔堬紵搴忓垪鍖栨暣涓璞℃槸瑕佹眰鍦ㄥ彟涓涓湴鏂瑰拰鏃墮棿閲嶆柊鏋勯犲師濮嬫暟鎹粨鏋勩傜敤鎸囬拡涓轟簡瀹屾垚榪欎簺錛屽瓨鍌ㄦ寚閽堢殑鍊兼槸涓嶅鐨勶紝鎸囬拡鎸囧悜鐨勫璞″繀欏誨瓨鍌ㄣ傚綋鎴愬憳鏈鍚庤瑁呰澆錛屼竴涓柊鐨勫璞¤鍒涘緩錛屾柊鐨勬寚閽堣瑁呰澆鍒扮被鐨勬垚鍛樹腑銆? <p>鎵鏈夎繖涓鍒囨槸鐢卞簭鍒楀寲搴撹嚜鍔ㄥ畬鎴愮殑銆傞氳繃鎸囬拡鍏寵仈鐨勫璞★紝涓婅堪浠g爜鑳藉畬鎴愬瓨鍌ㄥ拰瑁呰澆銆? <p>  <h5><a name="arrays">鏁扮粍</a></h5> <p>浜嬪疄涓婁笂榪版柟妗堟瘮杈冨鏉傘傚簭鍒楀寲搴撹兘媯嫻嬪嚭琚簭鍒楀寲鐨勫璞℃槸涓涓暟緇勶紝灝嗕駭鐢熶笂榪扮瓑浠風殑浠g爜銆傚洜姝や笂榪頒唬鐮佽兘鏇寸煭鐨勫啓涓猴細<pre><code> </code></pre><pre><code>class bus_route</code></pre><pre><code>{</code></pre><pre><code>    friend class boost::serialization::access;</code></pre><pre><code>    bus_stop * stops[10];</code></pre><pre><code>    template<class Archive></code></pre><pre><code>    void serialize(Archive & ar, const unsigned int version)</code></pre><pre><code>    {</code></pre><pre><code>        ar & stops;</code></pre><pre><code>    }</code></pre><pre><code>public:</code></pre><pre><code>    bus_route(){}</code></pre><pre><code>};</code></pre><pre> </pre> <h5><a name="stl">STL</a>瀹瑰櫒</h5> <p>涓婇潰鐨勪緥瀛愮敤鏁扮粍鎴愬憳銆傛洿澶氱殑濡傛鐨勪竴涓簲鐢ㄧ敤STL瀹瑰櫒涓哄姝ょ殑鐩殑銆傚簭鍒楀寲搴撳寘鍚負鎵鏈塖TL瀹瑰櫒搴忓垪鍖栫殑浠g爜銆傚洜姝わ紝涓嬬鏂規(guī)姝e鎴戜滑鎵棰勬湡鐨勬牱瀛愬伐浣溿?pre><code> </code></pre><pre><code>#include <boost/serialization/list.hpp></code></pre><pre><code> </code></pre><pre><code>class bus_route</code></pre><pre><code>{</code></pre><pre><code>    friend class boost::serialization::access;</code></pre><pre><code>    std::list<bus_stop *> stops;</code></pre><pre><code>    template<class Archive></code></pre><pre><code>    void serialize(Archive & ar, const unsigned int version)</code></pre><pre><code>    {</code></pre><pre><code>        ar & stops;</code></pre><pre><code>    }</code></pre><pre><code>public:</code></pre><pre><code>    bus_route(){}</code></pre><pre><code>};</code></pre><pre> </pre> <h5><a name="versioning">綾葷殑鐗堟湰</a></h5> <p>鍋囪鎴戜滑瀵筨us_route綾繪弧鎰忥紝鍦ㄤ駭鍝佷腑浣跨敤瀹冦備竴孌墊椂闂村悗錛屽彂瑙塨us_route 綾婚渶瑕佸寘鍚嚎璺┚椹跺憳鐨勫悕瀛椼傚洜姝ゆ柊鐗堟湰濡備笅錛?<pre><code> </code></pre><pre><code>#include <boost/serialization/list.hpp></code></pre><pre><code>#include <boost/serialization/string.hpp></code></pre><pre><code> </code></pre><pre><code>class bus_route</code></pre><pre><code>{</code></pre><pre><code>    friend class boost::serialization::access;</code></pre><pre><code>    std::list<bus_stop *> stops;</code></pre><pre><code>    std::string driver_name;</code></pre><pre><code>    template<class Archive></code></pre><pre><code>    void serialize(Archive & ar, const unsigned int version)</code></pre><pre><code>    {</code></pre><pre><code>        ar & driver_name;</code></pre><pre><code>        ar & stops;</code></pre><pre><code>    }</code></pre><pre><code>public:</code></pre><pre><code>    bus_route(){}</code></pre><pre><code>};</code></pre><pre> </pre> <p>濂斤紝瀹屾瘯錛佸紓甯?..浼氬彂鐢熷湪璇誨彇鏃х増鏈墍鐢熸垚鐨勬暟鎹枃浠舵椂銆傚浣曡冭檻鐗堟湰闂錛? <p>閫氬父錛屽簭鍒楀寲搴撲負姣忎釜琚簭鍒楀寲鐨勭被鍦ㄦ。妗堜腑瀛樺偍鐗堟湰鍙楓傜己鐪佸兼槸0銆傚綋妗f瑁呰澆鏃訛紝瀛樺偍鐨勭増鏈彿鍙璇誨嚭銆備笂榪頒唬鐮佸彲淇敼濡備笅錛?pre><code> </code></pre><pre><code>#include <boost/serialization/list.hpp></code></pre><pre><code>#include <boost/serialization/string.hpp></code></pre><pre><code>#include <boost/serialization/version.hpp></code></pre><pre><code> </code></pre><pre><code>class bus_route</code></pre><pre><code>{</code></pre><pre><code>    friend class boost::serialization::access;</code></pre><pre><code>    std::list<bus_stop *> stops;</code></pre><pre><code>    std::string driver_name;</code></pre><pre><code>    template<class Archive></code></pre><pre><code>    void serialize(Archive & ar, const unsigned int version)</code></pre><pre><code>    {</code></pre><pre><code>        // only save/load driver_name for newer archives</code></pre><pre><code>        if(version > 0)</code></pre><pre><code>            ar & driver_name;</code></pre><pre><code>        ar & stops;</code></pre><pre><code>    }</code></pre><pre><code>public:</code></pre><pre><code>    bus_route(){}</code></pre><pre><code>};</code></pre><pre><code> </code></pre><pre><code>BOOST_CLASS_VERSION(bus_route, 1)</code></pre><pre> </pre> <p>瀵規(guī)瘡涓被閫氳繃搴旂敤鐨勭増鏈紝娌℃湁蹇呰緇存姢涓涓増鏈枃浠躲備竴涓枃浠剁増鏈槸鎵鏈夊畠緇勬垚鐨勭被鐨勭増鏈殑鑱斿悎銆傜郴緇熷厑璁哥▼搴忓拰浠ュ墠鐗堟湰鐨勭▼搴忓垱寤虹殑妗f鍚戜笅鍏煎銆? <p>  <h5><a name="splitting">鎶妔erialize鎷嗗垎鎴恠ave/load</a></h5> <p>serialize鍑芥暟鏄畝鍗曪紝綆媧侊紝騫朵笖淇濊瘉綾繪垚鍛樻寜鍚屾牱鐨勯『搴忥紙搴忓垪鍖栫郴緇熺殑key錛夎瀛樺偍/琚杞姐傚彲鏄湁鍍忚繖閲屼緥瀛愪竴鏍鳳紝瑁呰澆鍜屽瓨鍌ㄤ笉涓鑷寸殑鎯呭艦銆備緥濡傦紝涓涓被鏈夊涓増鏈殑鎯呭喌鍙戠敓銆備笂榪版儏褰㈣兘閲嶅啓涓猴細<pre><code> </code></pre><pre><code>#include <boost/serialization/list.hpp></code></pre><pre><code>#include <boost/serialization/string.hpp></code></pre><pre><code>#include <boost/serialization/version.hpp></code></pre><pre><code>#include <boost/serialization/split_member.hpp></code></pre><pre><code> </code></pre><pre><code>class bus_route</code></pre><pre><code>{</code></pre><pre><code>    friend class boost::serialization::access;</code></pre><pre><code>    std::list<bus_stop *> stops;</code></pre><pre><code>    std::string driver_name;</code></pre><pre><code>    template<class Archive></code></pre><pre><code>    void save(Archive & ar, const unsigned int version) const</code></pre><pre><code>    {</code></pre><pre><code>        // note, version is always the latest when saving</code></pre><pre><code>        ar  & driver_name;</code></pre><pre><code>        ar  & stops;</code></pre><pre><code>    }</code></pre><pre><code>    template<class Archive></code></pre><pre><code>    void load(Archive & ar, const unsigned int version)</code></pre><pre><code>    {</code></pre><pre><code>        if(version > 0)</code></pre><pre><code>            ar & driver_name;</code></pre><pre><code>        ar  & stops;</code></pre><pre><code>    }</code></pre><pre><code>    BOOST_SERIALIZATION_SPLIT_MEMBER()</code></pre><pre><code>public:</code></pre><pre><code>    bus_route(){}</code></pre><pre><code>};</code></pre><pre><code> </code></pre><pre><code>BOOST_CLASS_VERSION(bus_route, 1)</code></pre><pre> </pre> <p>BOOST_SERIALIZATION_SPLIT_MEMBER() 瀹忕敓鎴愯皟鐢?save 鎴?load鐨勪唬鐮侊紝渚濊禆浜庢槸鍚︽。妗堣鐢ㄤ簬鈥滃瓨鍌ㄢ濇垨鈥滆杞解濄? <p>  <h5><a name="archives">妗f</a></h5> <p>鎴戜滑榪欓噷璁ㄨ灝嗚仛鐒﹀埌綾葷殑搴忓垪鍖栬兘鍔涗笂銆傝搴忓垪鍖栫殑鏁版嵁鐨勫疄闄呯紪鐮佸疄鐜頒簬妗f(archive)綾諱腑銆傝搴忓垪鍖栫殑鏁版嵁嫻佹槸鎵閫夋。妗?archive)綾葷殑搴忓垪鍖栫殑浜х墿銆?閿?key璁捐鍐沖畾榪欎袱涓粍浠剁殑鐙珛鎬с傚厑璁鎬換浣曞簭鍒楀寲鐨勮鑼冨彲鐢ㄤ簬浠諱綍妗f(archive)銆? <p>鍦ㄨ繖綃囨寚鍗椾腑錛屾垜浠敤浜嗕竴涓。妗堢被-鐢ㄤ簬瀛樺偍鐨則ext_oarchive鍜岀敤浜庤杞界殑text_iarchive綾匯傚湪搴撲腑鍏朵粬妗f綾葷殑鎺ュ彛瀹屽叏涓鑷淬備竴鏃︾被鐨勫簭鍒楀寲宸茬粡琚畾涔夛紝綾昏兘琚簭鍒楀寲鍒頒換浣曟。妗堢被鍨嬨? <p>鍋囧褰撳墠鐨勬。妗堥泦涓嶈兘鎻愪緵鏌愪釜灞炴э紝鏍煎紡錛屾垨琛屼負闇瑕佺壒鍖栫殑搴旂敤銆傝涔堝垱寤轟竴涓柊鐨勮涔堜粠宸叉湁鐨勯噷闈㈣鐢熶竴涓傚皢鍦ㄥ悗緇ф枃妗d腑鎻忚堪銆? <p>娉ㄦ剰鎴戜滑鐨勪緥瀛恠ave鍜宭oad紼嬪簭鏁版嵁鍦ㄤ竴涓▼搴忎腑錛岃繖鏄負浜嗚璁烘柟渚胯屽凡銆傞氬父錛岃瑁呰澆鐨勬。妗堟垨璁稿湪鎴栬涓嶅湪鍚屼竴涓▼搴忎腑銆? <p>T瀹屾暣鐨勬紨紺虹▼搴?- <a >demo.cpp</a> 鍖呮嫭錛? <ol> <li>鍒涘緩鍚勭綾誨埆鐨?stops, routes 鍜?schedules <li>鏄劇ず瀹? <li>搴忓垪鍖栧埌涓涓悕鍙?"testfile.txt"鐨勬枃浠朵腑 <li>榪樺師鍒板彟涓涓粨鏋勪腑 <li>鏄劇ず琚瓨鍌ㄧ殑緇撴瀯 </li></ol> <p><a >榪欎釜紼嬪簭鐨勮緭鍑?/a> 鍒嗚瘉瀹炰簡瀵瑰簭鍒楀寲緋葷粺鎵鏈夌殑瑕佹眰錛岄兘鍦ㄨ繖涓郴緇熶腑浣撶幇浜嗐傚搴忓垪鍖栨枃浠舵槸ASCII鏂囨湰鐨?a >妗f鏂囦歡鐨勫唴瀹?/a> 鑳借鏄劇ず銆?/p><img src ="http://m.shnenglu.com/woaidongmao/aggbug/64345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2008-10-19 00:38 <a href="http://m.shnenglu.com/woaidongmao/archive/2008/10/19/64345.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浣跨敤std::vector鐨勪竴涓鍖?/title><link>http://m.shnenglu.com/woaidongmao/archive/2008/10/16/64134.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Thu, 16 Oct 2008 05:28:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2008/10/16/64134.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/64134.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2008/10/16/64134.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/64134.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/64134.html</trackback:ping><description><![CDATA[<form id="Form1" name="Form1" action="http://m.shnenglu.com/1010.html" method="post" _initialAction="1010.html"> <div id="hvzpftn" class="pagelayout"> <div id="hvzpftn" class="centercolumn"> <div id="hvzpftn" class="singlepost">鍊熷姪valgrind錛岀粓浜庢壘鍒頒竴涓殣钘忓緢涔呯殑bug錛?br> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"><span style="color: #0000ff">class</span><span style="color: #000000"> A<br><img id="Codehighlighter1_8_21_Open_Image" src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_8_21_Closed_Image" style="display: none" src="http://m.shnenglu.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span id="Codehighlighter1_8_21_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://m.shnenglu.com/Images/dot.gif"></span><span id="Codehighlighter1_8_21_Open_Text"><span style="color: #000000">{<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/InBlock.gif" align="top">    <img src="http://m.shnenglu.com/Images/dot.gif"><img src="http://m.shnenglu.com/Images/dot.gif"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top">}</span></span><span style="color: #000000">;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align="top">std::vector</span><span style="color: #000000"><</span><span style="color: #000000">A</span><span style="color: #000000">></span><span style="color: #000000">  vecArray;<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align="top">vecArray.push_back( <img src="http://m.shnenglu.com/Images/dot.gif"> );<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align="top">vecArray.push_back( <img src="http://m.shnenglu.com/Images/dot.gif"> );<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align="top">vecArray.push_back( <img src="http://m.shnenglu.com/Images/dot.gif"> );<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align="top">A </span><span style="color: #000000">&</span><span style="color: #000000"> a</span><span style="color: #000000">=</span><span style="color: #000000"> vecArray.back();<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align="top">vecArray.push_back( <img src="http://m.shnenglu.com/Images/dot.gif"> );<br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"><img src="http://m.shnenglu.com/Images/dot.gif"><img src="http://m.shnenglu.com/Images/dot.gif"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"><br><img src="http://m.shnenglu.com/Images/OutliningIndicators/None.gif" align="top"></span></div>浠ヤ笂鐨勪唬鐮侀鐪肩湅涓婂幓涔熸病鏈変粈涔堝鎬殑鍦版柟錛岀粡榪囧嬈$殑嫻嬭瘯涔熸病鏈夊彂鐜頒粈涔堥棶棰樸備絾鏄ㄥぉbug緇堜簬鐖嗗彂浜嗭紝紼嬪簭鎬繪槸鏃犵紭鏃犳晠down鎺夈?br>鍏跺疄鍘熷洜寰堢畝鍗曪紝灝辨槸鍦?A & a = vecArray.back(); 榪欎竴姝ャ?br>vector鏄竴涓細鑷闀跨殑瀹瑰櫒錛岃嚜澧為暱鐨勭粨鏋滃氨鏄妸鍘熸潵鐨勫唴瀛橀噴鏀炬帀錛岄噸鏂板垎閰嶄竴涓凍澶熷ぇ鐨勫唴瀛樸傛棦鐒跺師鏉ョ殑鍐呭瓨宸茬粡閲婃斁鎺夛紝閭d箞a鎵寮曠敤鐨勫唴瀛樺氨鏄竴孌墊棤鏁堢殑鍐呭瓨銆傚鏃犳晥鍐呭瓨鐨勮闂紝鍚庢灉鏈夊涓ラ噸灝變笉鐢ㄥ璇翠簡銆?br><br>鎯寵В鍐蟲柟娉曚篃寰堝錛屾渶綆鍗曞氨鏄敤std::list鎴栬卻td::deque鏇夸唬vector銆?</div> <div id="hvzpftn" class="singlepost"> </div> <div id="hvzpftn" class="singlepost">========================================================================================</div> <div id="hvzpftn" class="singlepost"> </div> <p>Comments <ul> <li> <p><a href="http://m.shnenglu.com/cyt/archive/2005/11/10/1010.html#1026">#</a> <a name="1026"></a>re: 浣跨敤std::vector鐨勪竴涓鍖? <p><a>glacjay</a><br>Posted @ 2005-11-09 22:06<br>涓嶅彲浠ヤ繚瀛樼儲寮曞悧錛熷繀欏昏鐢ㄦ寚閽堝悧錛熶負浜嗘晥鐜囷紵  <a href="http://m.shnenglu.com/cyt/archive/2005/11/10/1010.html#post">鍥炲</a> <a href="http://m.shnenglu.com/comment?author=glacjay">鏇村璇勮</a> <a href="http://m.shnenglu.com/"></a><a></a></p> <li> <p><a href="http://m.shnenglu.com/cyt/archive/2005/11/10/1010.html#1033">#</a> <a name="1033"></a>re: 浣跨敤std::vector鐨勪竴涓鍖? <p><a href="http://m.shnenglu.com/cyt/">cyt</a><br>Posted @ 2005-11-10 09:23<br>鐢ㄧ儲寮曟槸鍙互錛屼笉榪囦釜浜轟笉澶у枩嬈㈢敤绱㈠紩銆傚叾鍘熷洜灝辨槸绱㈠紩騫朵笉鏄痵tl瀹瑰櫒鎵鍏辨湁鐨勭壒鎬э紝涓鏃︿嬌鐢ㄤ簡绱㈠紩錛屼互鍚庡鏋滈渶瑕佽漿鎹負鍏朵粬瀹瑰櫒鐨勬椂鍊欙紝鏈厤闇瑕佹敼鍔ㄤ笉灝戝湴鏂廣傚彟澶栵紝鎴戣繖閲屾墍璇寸殑鍙槸涓縐嶈В鍐蟲柟娉曘傚浜庢垜榪欑鎯呭喌錛屽彧闇瑕佹洿鏀逛竴涓猼ypedef瀹氫箟灝卞彲浠ヨВ鍐抽棶棰樸傚鏋滄敼鎴愭槸鐢ㄧ儲寮曠殑璇濓紝闇瑕佹洿鏀逛笉灝戝湴鏂癸紝鑰屼笖寰堝鏄撲細婕忎簡銆?<br>紼嬪簭鏈韓綆楁硶涔熸瘮杈冨鏉傦紝鐩稿鏉ヨ浣跨敤绱㈠紩鎬ц兘涔熶笉浼氫笅闄嶅灝戯紝榪欎釜鍊掍笉鏄粈涔堥渶瑕佽冭檻鐨勫湴鏂逛簡銆?nbsp; <a href="http://m.shnenglu.com/cyt/archive/2005/11/10/1010.html#post">鍥炲</a> <a href="http://m.shnenglu.com/comment?author=cyt">鏇村璇勮</a> <a href="http://m.shnenglu.com/"></a><a></a></p> <li> <p><a href="http://m.shnenglu.com/cyt/archive/2005/11/10/1010.html#1092">#</a> <a name="1092"></a>re: 浣跨敤std::vector鐨勪竴涓鍖? <p><a>nilaozi</a><br>Posted @ 2005-11-11 22:23<br>鏈鍚庝竴嬈¤瘎璁恒備篃澶熷嚭姘斾簡錛?<br>涓涓湪blogjava澶卞幓瀹跺洯鐨勪漢澹拌銆?<br>闄や簡鏀挎不鍘熷洜鍙互鍒犱簡涓涓漢blog錛屽埆鐨勭悊鐢遍兘涓嶈兘鎴愪負鐞嗙敱銆?<br>鎴戜負姣忎釜閮藉埌浠栦滑鎵闇鐨別book闅鵑亾閿欎簡錛?<br>璐村埌棣栭〉錛屾垜榪樹互浣犱滑鏈夐鐢蟲満鍒訛紝CSDN鏄繖鏍鳳紝綆$悊鍛樿涓哄彲浠ユ墠鏀懼埌棣栭〉銆?<br>涓嶄俊浣犲埌浠栦滑鐨勯欏電湅鐪嬨?<br><a >http://csdn.blog.net/ahhoo</a><br>濡傛灉浣犺涓鴻繕涓嶉敊鐨勶紝璇峰埌鍥炶創(chuàng)銆?<br><a href="http://m.shnenglu.com/cyt/archive/2005/11/10/1010.html#post">鍥炲</a> <a href="http://m.shnenglu.com/comment?author=nilaozi">鏇村璇勮</a> <a href="http://m.shnenglu.com/"></a><a></a></p> <li> <p><a href="http://m.shnenglu.com/cyt/archive/2005/11/10/1010.html#12011">#</a> <a name="12011"></a>re: 浣跨敤std::vector鐨勪竴涓鍖? <p><a href="http://m.shnenglu.com/pjqblues/">blues</a><br>Posted @ 2006-09-04 14:05<br>vector鍜宒eque鐨勫樊鍒槸鎿嶄綔涓婄殑錛宭ist铏界劧鏄熀浜庨摼琛ㄧ殑錛屼絾鏄笉鑳介殢鏈鴻闂紝浠諱綍鐨勫鍣ㄩ兘涓嶆槸瀹岀編鐨勶紝鑰屼笖浣跨敤鎸囬拡蹇呯劧瑕佸垽鏂紝浣嗕篃綆楁槸涓猙ug錛?<br>鎴戞兂瑙e喅鐨勮瘽綾誨瀷鐢╞oost鐨刟ny搴旇鍙互浜嗭紝瀹冩湰韜甫鏈夊畨鍏ㄦ鏌ワ紝鎴戞病璇曚粎鏄緩璁?nbsp; <a href="http://m.shnenglu.com/cyt/archive/2005/11/10/1010.html#post">鍥炲</a> <a href="http://m.shnenglu.com/comment?author=blues">鏇村璇勮</a> <a href="http://m.shnenglu.com/"></a><a></a></p> <li> <p><a href="http://m.shnenglu.com/cyt/archive/2005/11/10/1010.html#63290">#</a> <a name="63290"></a>re: 浣跨敤std::vector鐨勪竴涓鍖?a name="Post"></a> <p><a>stl</a><br>Posted @ 2008-10-06 01:03<br>STL閲岀殑瀹瑰櫒澶ч儴鍒嗛兘鏄滃尖濆鍣紝浣犵敤鈥滃紩鐢ㄢ濆幓璁塊棶瀹瑰櫒閲岀殑鍐呭錛岄敊浜嗘甯搞傝繖涓嶆槸vector鐨勯棶棰橈紝浣犺嚜宸變嬌鐢ㄧ殑闂銆傚鏋滃熀浜庢ц兘鑰冭檻涓婇潰鐨勭▼搴忎竴瀹氳浣跨敤鈥滃紩鐢ㄢ濊鎰忕殑璇濓紝搴旇鐢╲ector<A*>鐨勫啓娉曟墠姣旇緝姝g‘銆?nbsp; <a href="http://m.shnenglu.com/cyt/archive/2005/11/10/1010.html#post">鍥炲</a> <a href="http://m.shnenglu.com/comment?author=stl">鏇村璇勮</a> <a href="http://m.shnenglu.com/"></a></p></li></ul></div></div></form><img src ="http://m.shnenglu.com/woaidongmao/aggbug/64134.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2008-10-16 13:28 <a href="http://m.shnenglu.com/woaidongmao/archive/2008/10/16/64134.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>iterator瀵規(guī)暟鍊煎姞鍑忕殑鍒嗗埆http://m.shnenglu.com/woaidongmao/archive/2008/10/13/63875.html鑲ヤ粩鑲ヤ粩Mon, 13 Oct 2008 03:25:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/10/13/63875.htmlhttp://m.shnenglu.com/woaidongmao/comments/63875.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/10/13/63875.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/63875.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/63875.html//----涓嬮潰鐨勫彲浠?

vector<TickValue>::iterator iter;
iter = iter + 3;   

//----涓嬮潰鐨勪笉鍙互

list<TickValue>::iterator iter;
iter = iter + 3;   



鑲ヤ粩 2008-10-13 11:25 鍙戣〃璇勮
]]>
STL鐨刢ontainer鐨勪竴浜涚壒鎬ф祴璇?/title><link>http://m.shnenglu.com/woaidongmao/archive/2008/09/09/61382.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Tue, 09 Sep 2008 07:53:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2008/09/09/61382.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/61382.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2008/09/09/61382.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/61382.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/61382.html</trackback:ping><description><![CDATA[<p>絀哄鍣ㄥ棣栧厓绱犳眰鍦板潃榪愮畻 <p>int main(int argc, char* argv[])<br>{<br>    vector<int> vec_test;<br>    list<int>    lst_test;<br>    set<int>    set_test;<br>    int* p_test = &(*vec_test.begin()); //---- NULL<br>    p_test = &vec_test[0];                //---- NULL<br>    p_test = &(*lst_test.begin());        //---- 涓嶆槸NULL<br>    p_test = (int*)&(*set_test.begin());//---- 涓嶆槸NULL<br>    return 0;<br>} <p>============================================================================================ <p>vector鐨刟ssgin絀哄湴鍧嫻嬭瘯錛岀孩鑹查儴鍒嗘棤娉曠悊瑙?<p>int main(int argc, char* argv[])<br>{<br>    vector<int> vec_test;<br>    size_t s = 0;<br>    vec_test.assign(NULL, NULL);<br>    s = vec_test.size();    //---- 0<br> <font color="#ff0000">   vec_test.assign(NULL, NULL + 100);<br>    s = vec_test.size();    //---- 0</font><br>    return 0;<br>}</p><img src ="http://m.shnenglu.com/woaidongmao/aggbug/61382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2008-09-09 15:53 <a href="http://m.shnenglu.com/woaidongmao/archive/2008/09/09/61382.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瀹瑰櫒.size()榪斿洖size_t錛岀殑娉ㄦ剰浜嬮」http://m.shnenglu.com/woaidongmao/archive/2008/09/09/61380.html鑲ヤ粩鑲ヤ粩Tue, 09 Sep 2008 07:26:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/09/09/61380.htmlhttp://m.shnenglu.com/woaidongmao/comments/61380.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/09/09/61380.html#Feedback1http://m.shnenglu.com/woaidongmao/comments/commentRss/61380.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/61380.html涓嬮潰浠g爜鐨勫師鎰忔槸渚垮埄vector鐨勫墠n-1涓紝浣嗘槸錛屾病娉ㄦ剰鍒皊ize_t鏄痷nsigned int錛屽洜姝や細鍑虹幇bug.

濡傛灉m_vecSymbolSummary.size() == 0,閭d箞m_vecSymbolSummary.size() - 1灝嗕細鍙樻垚寰堝ぇ鏁幫紝鑰屼駭鐢熼棶棰?/p>

 

for (size_t t = 0; t < (m_vecSymbolSummary.size() - 1); ++t)



鑲ヤ粩 2008-09-09 15:26 鍙戣〃璇勮
]]>
瀹瑰櫒鐩哥瓑錛屽彲榪涜鐩存帴鍒ゆ柇http://m.shnenglu.com/woaidongmao/archive/2008/09/06/61131.html鑲ヤ粩鑲ヤ粩Sat, 06 Sep 2008 08:37:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/09/06/61131.htmlhttp://m.shnenglu.com/woaidongmao/comments/61131.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/09/06/61131.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/61131.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/61131.htmlvector, list, set, map ,hash_map, hash_set

浣嗘槸闇瑕佸鍣ㄥ厓绱狅紝鏀寔==,鎴栬呮湁<



鑲ヤ粩 2008-09-06 16:37 鍙戣〃璇勮
]]>
std::sort澶氬叧閿瓧鎺掑簭http://m.shnenglu.com/woaidongmao/archive/2008/09/06/61126.html鑲ヤ粩鑲ヤ粩Sat, 06 Sep 2008 07:39:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/09/06/61126.htmlhttp://m.shnenglu.com/woaidongmao/comments/61126.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/09/06/61126.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/61126.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/61126.html#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct MultiData
{
    int a;
    int b;
   int c;
};

struct ICmpMuls
{
    bool operator()(const MultiData& first, const MultiData& second) const
    {
        if(first.a< second.a)return true;
        if(first.a== second.a)
           if(first.b< second.b)return true;
              if(first.b== second.b)
                 if(first.c< second.c)return true;
        return false;
    }
};

int main(int argc, char* argv[])
{
    vector<MultiData> vec_muls;
    for (int i = 0; i < 300; ++i)
        vec_muls.push_back(MultiData(rand()%20, rand()));
    sort(vec_muls.begin(), vec_muls.end(), ICmpMuls());
    for (size_t s = 0; s < vec_muls.size(); ++s)
        cout<<s<<":     "<<vec_muls[s].login<<" / "<<vec_muls[s].order<<endl;
    return 0;
}



鑲ヤ粩 2008-09-06 15:39 鍙戣〃璇勮
]]>
鏉℃9錛氬湪鍒犻櫎閫夐」涓粩緇嗛夋嫨http://m.shnenglu.com/woaidongmao/archive/2008/08/02/57844.html鑲ヤ粩鑲ヤ粩Sat, 02 Aug 2008 08:57:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/08/02/57844.htmlhttp://m.shnenglu.com/woaidongmao/comments/57844.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/08/02/57844.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/57844.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/57844.html鍋囧畾浣犳湁涓涓爣鍑哠TL瀹瑰櫒錛宑錛屽綰砳nt錛?pre>Container<int> c;

鑰屼綘鎯蟲妸c涓墍鏈夊間負1963鐨勫璞¢兘鍘繪帀銆備護浜哄悆鎯婄殑鏄紝瀹屾垚榪欓」浠誨姟鐨勬柟娉曞洜涓嶅悓鐨勫鍣ㄧ被鍨嬭屼笉鍚岋細娌℃湁涓縐嶆柟娉曟槸閫氱敤鐨勩?

濡傛灉浣犳湁涓涓繛緇唴瀛樺鍣紙vector銆乨eque鎴杝tring鈥斺斿弬瑙?a >鏉℃1錛夛紝鏈濂界殑鏂規(guī)硶鏄痚rase-remove鎯敤娉曪紙鍙傝鏉℃32錛夛細

c.erase(remove(c.begin(), c.end(), 1963),	// 褰揷鏄痸ector銆乻tring
		c.end());			// 鎴杁eque鏃訛紝
						// erase-remove鎯敤娉?
						// 鏄幓闄ょ壒瀹氬肩殑鍏冪礌
						// 鐨勬渶浣蟲柟娉?

榪欐柟娉曚篃閫傚悎浜巐ist錛屼絾鏄紝姝e鏉℃44瑙i噴鐨勶紝list鐨勬垚鍛樺嚱鏁皉emove鏇撮珮鏁堬細

c.remove(1963);		// 褰揷鏄痩ist鏃訛紝
			// remove鎴愬憳鍑芥暟鏄幓闄?
			// 鐗瑰畾鍊肩殑鍏冪礌鐨勬渶浣蟲柟娉?

褰揷鏄爣鍑嗗叧鑱斿鍣紙鍗籌紝set銆乵ultiset銆乵ap鎴杕ultimap錛夋椂錛屼嬌鐢ㄤ換浣曞彨鍋歳emove鐨勪笢瑗塊兘鏄畬鍏ㄩ敊璇殑銆傝繖鏍風殑瀹瑰櫒娌℃湁鍙仛remove鐨勬垚鍛樺嚱鏁幫紝鑰屼笖浣跨敤remove綆楁硶鍙兘瑕嗙洊瀹瑰櫒鍊鹼紙鍙傝鏉℃32錛夛紝娼滃湪鍦扮牬鍧忓鍣ㄣ傦紙鍏充簬榪欐牱鐨勭牬鍧忕殑緇嗚妭錛屽弬鑰?a >鏉℃22錛岄偅涓潯嬈句篃瑙i噴浜嗕負浠涔堣瘯鍥懼湪map鍜宮ultimap涓婁嬌鐢╮emove鑲畾涓嶈兘緙栬瘧錛岃岃瘯鍥懼湪set鍜宮ultiset涓婁嬌鐢ㄥ彲鑳戒笉鑳界紪璇戙傦級

涓嶏紝瀵逛簬鍏寵仈瀹瑰櫒錛岃В鍐抽棶棰樼殑閫傚綋鏂規(guī)硶鏄皟鐢╡rase錛?pre>c.erase(1963); // 褰揷鏄爣鍑嗗叧鑱斿鍣ㄦ椂 // erase鎴愬憳鍑芥暟鏄幓闄? // 鐗瑰畾鍊肩殑鍏冪礌鐨勬渶浣蟲柟娉?

榪欎笉浠呮槸姝g‘鐨勶紝鑰屼笖寰堥珮鏁堬紝鍙姳璐瑰鏁版椂闂淬傦紙搴忓垪瀹瑰櫒鐨勫熀浜庡垹闄ょ殑鎶鏈渶瑕佺嚎鎬ф椂闂淬傦級騫朵笖錛屽叧鑱斿鍣ㄧ殑erase鎴愬憳鍑芥暟鏈夊熀浜庣瓑浠瘋屼笉鏄浉絳夌殑浼樺娍錛?a >鏉℃19瑙i噴浜嗚繖涓鍖哄埆鐨勯噸瑕佹с?

璁╂垜浠幇鍦ㄧ◢寰慨鏀逛竴涓嬭繖涓棶棰樸備笉鏄粠c涓櫎鍘繪瘡涓湁鐗瑰畾鍊肩殑鐗╀綋錛岃鎴戜滑娑堥櫎涓嬮潰鍒ゆ柇寮忥紙鍙傝鏉℃39錛夎繑鍥炵湡鐨勬瘡涓璞★細

bool badValue(int x);	// 榪斿洖x鏄惁鏄渂ad鈥?/pre>

瀵逛簬搴忓垪瀹瑰櫒錛坴ector銆乻tring銆乨eque鍜宭ist錛夛紝鎴戜滑瑕佸仛鐨勫彧鏄妸姣忎釜remove鏇挎崲涓簉emove_if錛岀劧鍚庡氨瀹屾垚浜嗭細

c.erase(remove_if(c.begin(), c.end(), badValue),	// 褰揷鏄痸ector銆乻tring
			c.end());			// 鎴杁eque鏃惰繖鏄幓鎺?
						// badValue榪斿洖鐪?
						// 鐨勫璞$殑鏈浣蟲柟娉?
c.remove_if(badValue);				// 褰揷鏄痩ist鏃惰繖鏄幓鎺?
						// badValue榪斿洖鐪?
						// 鐨勫璞$殑鏈浣蟲柟娉?

瀵逛簬鏍囧噯鍏寵仈瀹瑰櫒錛屽畠涓嶆槸寰堢洿鎴簡褰撱傛湁涓ょ鏂規(guī)硶澶勭悊璇ラ棶棰橈紝涓涓洿瀹規(guī)槗緙栫爜錛屽彟涓涓洿楂樻晥銆傗滄洿瀹規(guī)槗浣嗘晥鐜囪緝浣庘濈殑瑙e喅鏂規(guī)鐢╮emove_copy_if鎶婃垜浠渶瑕佺殑鍊兼嫹璐濆埌涓涓柊瀹瑰櫒涓紝鐒跺悗鎶婂師瀹瑰櫒鐨勫唴瀹瑰拰鏂扮殑浜ゆ崲錛?pre>AssocContainer<int> c; // c鐜板湪鏄竴縐? ... // 鏍囧噯鍏寵仈瀹瑰櫒 AssocContainer<int> goodValues; // 鐢ㄤ簬瀹圭撼涓嶅垹闄? // 鐨勫肩殑涓存椂瀹瑰櫒 remove_copy_if(c.begin(), c.end(), // 浠巆鎷瘋礉涓嶅垹闄? inserter(goodValues, // 鐨勫煎埌 goodValues.end()), // goodValues badValue); c.swap(goodValues); // 浜ゆ崲c鍜実oodValues // 鐨勫唴瀹?

瀵硅繖縐嶆柟娉曠殑緙虹偣鏄畠鎷瘋礉浜嗘墍鏈変笉鍒犻櫎鐨勫厓绱狅紝鑰岃繖鏍風殑鎷瘋礉寮閿鍙兘澶т簬鎴戜滑鎰熷叴瓚f敮浠樼殑銆?

鎴戜滑鍙互閫氳繃鐩存帴浠庡師瀹瑰櫒鍒犻櫎鍏冪礌鏉ラ伩寮閭g瑪甯愬崟銆備笉榪囷紝鍥犱負鍏寵仈瀹瑰櫒娌℃湁鎻愪緵綾諱技remove_if鐨勬垚鍛樺嚱鏁幫紝鎵浠ユ垜浠繀欏誨啓涓涓驚鐜潵榪唬c涓殑鍏冪礌錛屽拰鍘熸潵涓鏍峰垹闄ゅ厓绱犮?

鐪嬭搗鏉ワ紝榪欎釜浠誨姟寰堢畝鍗曪紝鑰屼笖瀹為檯涓婏紝浠g爜涔熷緢綆鍗曘備笉騫哥殑鏄紝閭d簺姝g‘宸ヤ綔鐨勪唬鐮佸緢灝戞槸璺冨嚭鑴戞搗鐨勪唬鐮併備緥濡傦紝榪欐槸寰堝紼嬪簭鍛橀鍏堟兂鍒扮殑錛?pre>AssocContainer<int> c; ... for (AssocContainer<int>::iterator i = c.begin(); // 娓呮櫚錛岀洿鎴簡褰? i!= c.end(); // 鑰屾紡媧炵櫨鍑虹殑鐢ㄤ簬 ++i) { // 鍒犻櫎c涓璪adValue榪斿洖鐪? if (badValue(*i)) c.erase(i); // 鐨勬瘡涓厓绱犵殑浠g爜 } // 涓嶈榪欎箞鍋氾紒

鍞夛紝榪欐湁鏈畾涔夌殑琛屼負銆傚綋瀹瑰櫒鐨勪竴涓厓绱犺鍒犳椂錛屾寚鍚戦偅涓厓绱犵殑鎵鏈夎凱浠e櫒閮藉け鏁堜簡銆傚綋c.erase(i)榪斿洖鏃訛紝i宸茬粡澶辨晥銆傞偅瀵逛簬榪欎釜寰幆鏄釜鍧忔秷鎭紝鍥犱負鍦╡rase榪斿洖鍚庯紝i閫氳繃for寰幆鐨?+i閮ㄥ垎鑷銆?

涓轟簡閬垮厤榪欎釜闂錛屾垜浠繀欏諱繚璇佸湪璋冪敤erase涔嬪墠灝卞緱鍒頒簡c涓笅涓鍏冪礌鐨勮凱浠e櫒銆傛渶瀹規(guī)槗鐨勬柟娉曟槸褰撴垜浠皟鐢ㄦ椂鍦╥涓婁嬌鐢ㄥ悗緗掑錛?pre>AssocContainer<int> c; ... for (AssocContainer<int>::iterator i = c.begin(); // for寰幆鐨勭涓夐儴鍒? i != c.end(); // 鏄┖鐨勶紱i鐜板湪鍦ㄤ笅闈? /*nothing*/ ){ // 鑷 if (badValue(*i)) c.erase(i++); // 瀵逛簬鍧忕殑鍊鹼紝鎶婂綋鍓嶇殑 else ++i; // i浼犵粰erase錛岀劧鍚? } // 浣滀負鍓綔鐢ㄥ鍔爄錛? // 瀵逛簬濂界殑鍊鹼紝 // 鍙鍔爄

榪欑璋冪敤erase鐨勮В鍐蟲柟娉曞彲浠ュ伐浣滐紝鍥犱負琛ㄨ揪寮廼++鐨勫兼槸i鐨勬棫鍊鹼紝浣嗕綔涓哄壇浣滅敤錛宨澧炲姞浜嗐傚洜姝わ紝鎴戜滑鎶奿鐨勬棫鍊鹼紙娌″鍔犵殑錛変紶緇檈rase錛屼絾鍦╡rase寮濮嬫墽琛屽墠i宸茬粡鑷浜嗐傞偅姝eソ鏄垜浠兂瑕佺殑銆傛濡傛垜鎵璇寸殑錛屼唬鐮佸緢綆鍗曪紝鍙笉榪囦笉鏄ぇ澶氭暟紼嬪簭鍛樺湪絎竴嬈″皾璇曟椂鎯沖埌鐨勩?

鐜板湪璁╂垜浠繘涓姝ヤ慨鏀硅闂銆備笉浠呭垹闄adValue榪斿洖鐪熺殑姣忎釜鍏冪礌錛岃屼笖姣忓綋涓涓厓绱犺鍒犳帀鏃訛紝鎴戜滑涔熸兂鎶婁竴鏉℃秷鎭啓鍒版棩蹇楁枃浠朵腑銆?

瀵逛簬鍏寵仈瀹瑰櫒錛岃繖璇村瀹規(guī)槗灝辨湁澶氬鏄擄紝鍥犱負鍙渶瑕佸鎴戜滑鍒氭墠寮鍙戠殑寰幆鍋氫竴涓井涓嶈凍閬撶殑淇敼灝辮浜嗭細

ofstream logFile;					// 瑕佸啓鍏ョ殑鏃ュ織鏂囦歡
AssocContainer<int> c;
...
for (AssocContainer<int>::iterator i = c.begin();	// 寰幆鏉′歡鍜屽墠闈竴鏍?
	i !=c.end();){
	if (badValue(*i)){ 
		logFile << "Erasing " << *i <<'\n';	// 鍐欐棩蹇楁枃浠?
		c.erase(i++);			// 鍒犻櫎鍏冪礌
	}
	else ++i;
}

鐜板湪鏄痸ector銆乻tring鍜宒eque緇欐垜浠甫鏉ラ夯鐑︺傛垜浠笉鑳藉啀浣跨敤erase-remove鎯敤娉曪紝鍥犱負娌℃湁鍔炴硶璁〆rase鎴杛emove鍐欐棩蹇楁枃浠躲傝屼笖錛屾垜浠笉鑳戒嬌鐢ㄥ垰鍒氫負鍏寵仈瀹瑰櫒寮鍙戠殑寰幆錛屽洜涓哄畠涓簐ector銆乻tring鍜宒eque浜х敓鏈畾涔夌殑琛屼負錛佽璁板緱瀵逛簬閭f牱鐨勫鍣紝璋冪敤erase涓嶄粎浣挎墍鏈夋寚鍚戣鍒犲厓绱犵殑榪唬鍣ㄥけ鏁堬紝涔熶嬌琚垹鍏冪礌涔嬪悗鐨勬墍鏈夎凱浠e櫒澶辨晥銆傚湪鎴戜滑鐨勬儏鍐甸噷錛岄偅鍖呮嫭鎵鏈塱涔嬪悗鐨勮凱浠e櫒銆傛垜浠啓i++錛?+i鎴栦綘鑳芥兂璧風殑鍏跺畠浠諱綍涓滆タ閮芥病鏈夌敤錛屽洜涓烘病鏈夎兘瀵艱嚧榪唬鍣ㄦ湁鏁堢殑銆?

鎴戜滑蹇呴』瀵箆ector銆乻tring鍜宒eque閲囩敤涓嶅悓鐨勬垬鐣ャ傜壒鍒槸錛屾垜浠繀欏誨埄鐢╡rase鐨勮繑鍥炲箋傞偅涓繑鍥炲兼鏄垜浠渶瑕佺殑錛氫竴鏃﹀垹闄ゅ畬鎴愶紝瀹冨氨鏄寚鍚戠揣鎺ュ湪琚垹鍏冪礌涔嬪悗鐨勫厓绱犵殑鏈夋晥榪唬鍣ㄣ傛崲鍙ヨ瘽璇達紝鎴戜滑榪欎箞鍐欙細

for (SeqContainer<int>::iterator i = c.begin(); 
	i != c.end();){
	if (badValue(*i)){
		logFile << "Erasing " << *i << '\n'; 
		i = c.erase(i);			// 閫氳繃鎶奺rase鐨勮繑鍥炲?
	}					// 璧嬬粰i鏉ヤ繚鎸乮鏈夋晥
	else
		++i;
}

榪欏彲浠ュ緢濂藉湴宸ヤ綔錛屼絾鍙敤浜庢爣鍑嗗簭鍒楀鍣ㄣ傜敱浜庤璇佷竴涓彲鑳界殑闂錛?a >鏉℃5鍋氫簡錛夛紝鏍囧噯鍏寵仈瀹瑰櫒鐨別rase鐨勮繑鍥炵被鍨嬫槸void[1]銆傚浜庨偅浜涘鍣紝浣犲繀欏諱嬌鐢ㄢ滃悗緗掑浣犺浼犵粰erase鐨勮凱浠e櫒鈥濇妧鏈傦紙欏轟究璇磋錛屽湪涓哄簭鍒楀鍣ㄧ紪鐮佸拰涓哄叧鑱斿鍣ㄧ紪鐮佷箣闂寸殑榪欑宸埆鏄負浠涔堝啓瀹瑰櫒鏃犲叧浠g爜涓鑸己涔忚冭檻鐨勪竴涓緥瀛愨斺斿弬瑙?a >鏉℃2銆?

涓轟簡閬垮厤浣犲鎬猯ist鐨勯傚綋鏂規(guī)硶鏄粈涔堬紝浜嬪疄琛ㄦ槑瀵逛簬榪唬鍜屽垹闄わ紝浣犲彲浠ュ儚vector/string/deque涓鏍鋒垨鍍忓叧鑱斿鍣ㄤ竴鏍峰寰卨ist錛涗袱縐嶆柟娉曢兘鍙互涓簂ist宸ヤ綔銆?

濡傛灉鎴戜滑瑙傚療鍦ㄦ湰鏉℃涓彁鍒扮殑鎵鏈変笢瑗匡紝鎴戜滑寰楀嚭涓嬪垪緇撹錛?

  • 鍘婚櫎涓涓鍣ㄤ腑鏈夌壒瀹氬肩殑鎵鏈夊璞★細

    濡傛灉瀹瑰櫒鏄痸ector銆乻tring鎴杁eque錛屼嬌鐢╡rase-remove鎯敤娉曘?

    濡傛灉瀹瑰櫒鏄痩ist錛屼嬌鐢╨ist::remove銆?

    濡傛灉瀹瑰櫒鏄爣鍑嗗叧鑱斿鍣紝浣跨敤瀹冪殑erase鎴愬憳鍑芥暟銆?/p>

  • 鍘婚櫎涓涓鍣ㄤ腑婊¤凍涓涓壒瀹氬垽瀹氬紡鐨勬墍鏈夊璞★細

    濡傛灉瀹瑰櫒鏄痸ector銆乻tring鎴杁eque錛屼嬌鐢╡rase-remove_if鎯敤娉曘?

    濡傛灉瀹瑰櫒鏄痩ist錛屼嬌鐢╨ist::remove_if銆?

    濡傛灉瀹瑰櫒鏄爣鍑嗗叧鑱斿鍣紝浣跨敤remove_copy_if鍜宻wap錛屾垨鍐欎竴涓驚鐜潵閬嶅巻瀹瑰櫒鍏冪礌錛屽綋浣犳妸榪唬鍣ㄤ紶緇檈rase鏃惰寰楀悗緗掑瀹冦?/p>

  • 鍦ㄥ驚鐜唴鍋氭煇浜涗簨鎯咃紙闄や簡鍒犻櫎瀵硅薄涔嬪錛夛細

    濡傛灉瀹瑰櫒鏄爣鍑嗗簭鍒楀鍣紝鍐欎竴涓驚鐜潵閬嶅巻瀹瑰櫒鍏冪礌錛屾瘡褰撹皟鐢╡rase鏃惰寰楅兘鐢ㄥ畠鐨勮繑鍥炲兼洿鏂頒綘鐨勮凱浠e櫒銆?

    濡傛灉瀹瑰櫒鏄爣鍑嗗叧鑱斿鍣紝鍐欎竴涓驚鐜潵閬嶅巻瀹瑰櫒鍏冪礌錛屽綋浣犳妸榪唬鍣ㄤ紶緇檈rase鏃惰寰楀悗緗掑瀹冦?/p>

濡備綘鎵瑙侊紝涓庝粎浠呰皟鐢╡rase鐩告瘮錛屾湁鏁堝湴鍒犻櫎瀹瑰櫒鍏冪礌鏈夋洿澶氱殑涓滆タ銆傝В鍐抽棶棰樼殑鏈濂芥柟娉曞彇鍐充簬浣犳槸鎬庢牱閴村埆鍑哄摢涓璞℃槸瑕佽鍘繪帀鐨勶紝鍌ㄥ瓨瀹冧滑鐨勫鍣ㄧ殑綾誨瀷錛屽拰褰撲綘鍒犻櫎瀹冧滑鐨勬椂鍊欎綘榪樻兂瑕佸仛浠涔堬紙濡傛灉鏈夌殑璇濓級銆傚彧瑕佷綘灝忓績鑰屼笖娉ㄦ剰浜嗘湰鏉℃鐨勫緩璁紝浣犲皢姣笉璐瑰姏銆傚鏋滀綘涓嶅皬蹇冿紝浣犲皢鍐掔潃浜х敓涓嶅繀瑕佷綆鏁堢殑浠g爜鎴栨湭瀹氫箟琛屼負鐨勫嵄闄┿?/p>

鑲ヤ粩 2008-08-02 16:57 鍙戣〃璇勮
]]>
STL 鏌ユ壘綆楁硶http://m.shnenglu.com/woaidongmao/archive/2008/07/04/55335.html鑲ヤ粩鑲ヤ粩Fri, 04 Jul 2008 05:36:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/07/04/55335.htmlhttp://m.shnenglu.com/woaidongmao/comments/55335.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/07/04/55335.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/55335.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/55335.html

瑕佺粰鍑烘墍鏈夋垜浠湪鏈潯嬈句腑鎵鑰冭檻鍒扮殑錛屾垜浠殑浠庡摢鍎跨潃鎵嬶紵涓嬮潰鐨勮〃鏍奸亾鍑轟簡涓鍒囥?/p>
浣犳兂鐭ラ亾鐨? 浣跨敤鐨勭畻娉? 浣跨敤鐨勬垚鍛樺嚱鏁?/tr>
鍦ㄦ棤搴忓尯闂?/td> 鍦ㄥ凡搴忓尯闂?/td> 鍦╯et鎴杕ap涓?/td> 鍦╩ultiset鎴杕ultimap涓?/td>
鏈熸湜鍊兼槸鍚﹀瓨鍦紵 find binary_search count find
鏈熸湜鍊兼槸鍚﹀瓨鍦紵濡傛灉鏈夛紝絎竴涓瓑浜庤繖涓肩殑瀵硅薄鍦ㄥ摢閲岋紵 find equal_range find find or lower_bound(see article)
絎竴涓笉絳変簬鏈熸湜鍊肩殑瀵硅薄鍦ㄥ摢閲岋紵 find_if lower_bound lower_bound lower_bound
絎竴涓瓑浜庢湡鏈涘肩殑瀵硅薄鍦ㄥ摢閲岋紵 find_if upper_bound upper_bound upper_bound
鏈夊灝戝璞$瓑浜庢湡鏈涘鹼紵 count equal_range count count
絳変簬鏈熸湜鍊肩殑鎵鏈夊璞″湪鍝噷錛?/td> find錛堣凱浠o級 equal_range equal_range equal_range

===============================================================================
Example
// equal_range example
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

bool mygreater (int i,int j) { return (i>j); }

int main () {
  int myints[] = {10,20,30,30,20,10,10,20};
  vector<int> v(myints,myints+8);                         // 10 20 30 30 20 10 10 20
  pair<vector<int>::iterator,vector<int>::iterator> bounds;

  // using default comparison:
  sort (v.begin(), v.end());                              // 10 10 10 20 20 20 30 30
  bounds=equal_range (v.begin(), v.end(), 20);            //          ^        ^

  // using "mygreater" as comp:
  sort (v.begin(), v.end(), mygreater);                   // 30 30 20 20 20 10 10 10
  bounds=equal_range (v.begin(), v.end(), 20, mygreater); //       ^        ^

  cout << "bounds at positions " << int(bounds.first - v.begin());
  cout << " and " << int(bounds.second - v.begin()) << endl;

  return 0;
}

Output:

bounds ar positions 2 and 5
=================================================================

equal_range()
template< class ForwardIterator, class Type >
pair< ForwardIterator, ForwardIterator >
equal_range( ForwardIterator first,                 ForwardIterator last, const Type &value );
//榪斿洖pair 錛岃嫢瀹瑰櫒涓瓨鍦ㄦ悳绱㈠鹼紝絎竴涓繑鍥瀊y lower_bound(); 絎簩涓?by upper_bound(); 
               鑻ュ鍣ㄤ腑涓嶅瓨鍦ㄦ悳绱㈠鹼紝涓や釜閮借繑鍥瀊y upper_bound();            template< class ForwardIterator, class Type, class Compare >
pair< ForwardIterator, ForwardIterator >
equal_range( ForwardIterator first,                 ForwardIterator last, const Type &value,                 Compare comp );

#include <algorithm>
#include <vector>
#include <utility>
#include <iostream>
#include<functional>
using namespace std;
/* generates:
      array element sequence after sort:
      12 15 17 19 20 22 23 26 29 35 40 51
      equal_range result of search for value 23:
              *ia_iter.first: 23         *ia_iter.second: 26
      equal_range result of search for absent value 21:
              *ia_iter.first: 22         *ia_iter.second: 22
      vector element sequence after sort:
      51 40 35 29 26 23 22 20 19 17 15 12
      equal_range result of search for value 26:
              *ivec_iter.first: 26       *ivec_iter.second: 23
      equal_range result of search for absent value 21:
              *ivec_iter.first: 20       *ivec_iter.second: 20
      */

int main()
{
      int ia[] = { 29,23,20,22,17,15,26,51,19,12,35,40 };
      vector< int > ivec( ia, ia+12 );
      ostream_iterator< int >     ofile( cout, " " );
      sort( &ia[0], &ia[12] );
      cout << "array element sequence after sort:\n";
      copy( ia, ia+12, ofile ); cout << "\n\n";
      pair< int*,int* > ia_iter;
      ia_iter = equal_range( &ia[0], &ia[12], 23 );
      cout << "equal_range result of search for value 23:\n\t"
           << "*ia_iter.first: "     << *ia_iter.first << "\t"
           << "*ia_iter.second: " << *ia_iter.second << "\n\n";
      ia_iter = equal_range( &ia[0], &ia[12], 21 );
      cout << "equal_range result of search for "
           << "absent value 21:\n\t"
           << "*ia_iter.first: "     << *ia_iter.first << "\t"
           << "*ia_iter.second: " << *ia_iter.second << "\n\n";
      sort( ivec.begin(), ivec.end(), greater<int>() );
      cout << "vector element sequence after sort:\n";
      copy( ivec.begin(), ivec.end(), ofile ); cout << "\n\n";
      typedef vector< int>::iterator iter_ivec;
      pair< iter_ivec, iter_ivec > ivec_iter;
      ivec_iter = equal_range( ivec.begin(), ivec.end(), 26,
                  greater<int>() );
      cout << "equal_range result of search for value 26:\n\t"
           << "*ivec_iter.first: "     << *ivec_iter.first << "\t"
           << "*ivec_iter.second: " << *ivec_iter.second
         ;
      ivec_iter = equal_range( ivec.begin(), ivec.end(), 21,
                  greater<int>() );
      cout << "equal_range result of search for "
           << "absent value 21:\n\t"
           << "*ivec_iter.first: "     << *ivec_iter.first << "\t"
           << "*ivec_iter.second: " << *ivec_iter.second
           ;
}



鑲ヤ粩 2008-07-04 13:36 鍙戣〃璇勮
]]>
EffectiveSTL錛欼tem16錛氬浣曞皢vector鍜宻tring鐨勬暟鎹紶緇欎紶緇熺殑API鍑芥暟http://m.shnenglu.com/woaidongmao/archive/2008/06/19/54027.html鑲ヤ粩鑲ヤ粩Thu, 19 Jun 2008 08:13:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/06/19/54027.htmlhttp://m.shnenglu.com/woaidongmao/comments/54027.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/06/19/54027.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/54027.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/54027.htmlItem 16錛氬浣曞皢vector鍜宻tring鐨勬暟鎹紶緇欎紶緇熺殑API鍑芥暟

       鍥犱負 C++璇█宸茬粡浜?998騫磋鏍囧噯鍖栵紝C++鐨勪腑鍧氬垎瀛愬湪璇曞浘鎺ㄥ姩紼嬪簭鍛樹粠鏁扮粍杞埌vector鏃跺氨娌′粈涔堥【铏戜簡銆傚悓鏍風殑鎯呭喌涔熷彂鐢熶簬浠巆har *鎸囬拡杞埌string瀵硅薄鐨勮繃紼嬩腑銆傛湁寰堝ソ鐨勭悊鐢辨潵鍋氳繖浜涜漿鍙橈紝姣斿鍙互娑堥櫎甯歌鐨勭紪紼嬮敊璇紙Item 13錛夛紝鍜屾湁鏈轟細鑾峰緱STL娉涘瀷綆楁硶鐨勫叏閮ㄥ己澶ц兘鍔?(鍙傝錛屾瘮濡傦紝Item 31)銆?

       浣嗘槸錛岄夯鐑﹁繕鏄湁鐨勶紝鑰屾渶甯歌鐨勪竴涓氨鏄凡緇忓瓨鍦ㄧ殑浼犵粺C椋庢牸API鍑芥暟鎺ュ彈鐨勬槸鏁扮粍鍜宑har *鎸囬拡錛岃屼笉鏄痸ector鍜宻tring瀵硅薄銆傝繖鏍風殑API鍑芥暟榪樺皢浼氬瓨鍦ㄥ緢闀挎椂闂達紝濡傛灉鎴戜滑瑕侀珮鏁堜嬌鐢⊿TL鐨勮瘽錛屽氨蹇呴』鍜屽畠浠拰騫沖叡澶勩?

       騫歌繍鐨勬槸錛岃繖寰堝鏄撱傚鏋滀綘鏈変竴涓獀ector瀵硅薄v錛岃屼綘闇瑕佸緱鍒頒竴涓寚鍚憊涓暟鎹殑鎸囬拡錛屼互浣垮緱瀹冨彲浠ヨ褰撲綔涓涓暟緇勶紝鍙浣跨敤&v[0]灝卞彲浠ヤ簡銆傚浜巗tring瀵硅薄s錛岀浉搴旂殑璇硶鏄緢綆鍗曠殑s.c_str()銆備絾鍙兘浠庝笂闈㈣銆傚騫垮憡鏃跺父鎸囨槑鐨勶紝鏈夊嚑涓檺鍒躲傘?

緇欏畾涓涓?

vector<int> v;

       琛ㄨ揪寮弙[0]鐢熶駭涓涓寚鍚憊ector涓鍏冪礌鐨勫紩鐢紝鎵浠ワ紝&v[0]鏄寚鍚戦偅涓鍏冪礌鐨勬寚閽堛倂ector涓殑鍏冪礌琚獵++鏍囧噯闄愬畾涓哄瓨鍌ㄥ湪榪炵畫鍐呭瓨涓紝灝辮薄鏄竴涓暟緇勶紝鎵浠ワ紝濡傛灉鎴戜滑浼犻抳緇欏姝ゅ艦寮忕殑C椋庢牸API鍑芥暟

void doSomething(const int* pInts, size_t numInts);

       鎴戜滑鍙互榪欎箞鍋氾細

doSomething(&v[0],v.size());

       涔熻鍚с傚彲鑳藉惂銆傚敮涓鐨勯棶棰樺氨鏄紝濡傛灉v鏄┖鐨勩傚鏋滆繖鏍風殑璇濓紝v.size()鏄?錛岃?amp;v[0]璇曞浘浜х敓涓涓寚鍚戞牴鏈氨涓嶅瓨鍦ㄧ殑涓滆タ鐨勬寚閽堛傝繖涓嶆槸浠跺ソ浜嬨傚叾緇撴灉鏈畾涔夈備竴涓緝瀹夊叏鐨勬柟娉曟槸榪欐牱錛?

if (!v.empty()) {

doSomething(&v[0], v.size());

}

       濡傛灉璧板緱涓嶅璺紝浣犲彲鑳戒細紕板埌浜涘崐鐡跺瓙鐨勪漢鐗╋紝浠栦滑浼氬憡璇変綘璇村彲浠ョ敤v.begin()浠f浛&v[0]錛屽洜涓?榪欎簺璁ㄥ帉鐨勫浼欏皢浼氬憡璇変綘)begin()榪斿洖鎸囧悜vector鍐呴儴鐨刬terator錛岃屽浜巚ector錛屽叾iterators瀹為檯涓婃槸鎸囬拡銆傞偅緇忓父鏄紜殑錛屼絾濡侷tem 50鎵璇達紝騫朵笉鎬繪槸濡傛錛屼綘涓嶈渚濊禆浜庢銆俠egin()鐨勮繑鍥炵被鍨嬫槸iterator錛岃屼笉鏄竴涓寚閽堬紝褰撲綘闇瑕佷竴涓寚鍚憊ector鍐呴儴鏁版嵁鐨勬寚閽堟椂緇濅笉璇ヤ嬌鐢╞egin()銆傚鏋滀綘鍩轟簬鏌愪簺鍘熷洜鍐沖畾閿叆v.begin()錛屽氨閿叆&*v.begin()錛?鍥犱負榪欏皢浼氫駭鐢熷拰&v[0]鐩稿悓鐨勬寚閽堬紝铏界劧瀹冭浣犳湁鏇村鐨勫嚮閿伐浣滀笖璁╀唬鐮佽璧鋒潵鏇存櫐娑┿傚潶鐧藉湴璇達紝濡傛灉浣犳琚憡璇変綘浣跨敤v.begin()浠f浛&v[0]鐨勪漢鍥寸粫鐨勮瘽錛屼綘璇ラ噸鏂拌冭檻涓涓嬩綘鐨勭ぞ浜ゅ湀浜嗐?

       綾諱技鐨勪粠vector涓婅幏鍙栨寚鍚戝唴閮ㄦ暟鎹殑鎸囬拡鐨勬柟娉曪紝瀵箂tring鏄笉鍙潬鐨勶紝鍥犱負

       (1) string涓殑鏁版嵁騫舵病鏈夋壙璇鴻瀛樺偍鍦ㄨ繛緇唴瀛樹腑錛?

       (2)string鐨勫唴閮ㄨ〃紺哄艦寮忓茍娌℃壙璇轟互涓涓┖瀛楃緇撴潫銆?

       榪欒В閲婁簡string鐨勬垚鍛樺嚱鏁癱_str()瀛樺湪鐨勫師鍥狅紝瀹冭繑鍥炰竴涓寜C椋庢牸璁捐鎸囬拡錛屾寚鍚憇tring鐨勫鹼紙which returns a pointer to the value of the string in a form designed for C錛夈?鎴戜滑鍙互濡傛浼犻掍竴涓猻tring瀵硅薄s緇欒繖涓嚱鏁幫紝

void doSomething(const char *pString);

       灝辮薄榪欐牱錛?

doSomething(s.c_str());

       鍗充嬌鏄瓧絎︿覆鐨勯暱搴︿負0錛屽畠閮借兘宸ヤ綔銆傚湪閭g鎯呭喌涓嬶紝c_str()灝嗚繑鍥炰竴涓寚鍚戠粨鏉熺鐨勬寚閽堛傚嵆浣垮瓧絎︿覆鍐呴儴鑷繁瀛樺湪緇撴潫絎︽椂錛屽畠鍚屾牱鑳藉伐浣溿傜劧鑰岋紝濡傛灉鐪熺殑榪欐牱錛宒oSomething寰堝彲鑳藉皢絎竴涓粨鏉熺瑙i噴涓哄瓧絎︿覆緇撴潫銆俿tring瀵硅薄涓嶅湪鎰忔槸鍚﹀綰充簡緇撴潫絎︼紝浣嗗熀浜巆har *鐨凜椋庢牸API鍑芥暟鍦ㄦ剰銆?

       鍐嶇湅涓涓媎oSomething()鐨勭敵鏄庯細

void doSomething(const int* pInts, size_t numInts);

void doSomething(const char *pString);

       鍦ㄤ袱縐嶅艦寮忎笅錛屾寚閽堥兘琚紶閫掍負鎸囧悜const鐨勬寚閽堛倂ector鍜宻tring鐨勬暟鎹浼犵粰鍙鍙栬屼笉淇敼瀹冧滑鐨凙PI鍑芥暟銆傚埌鐩墠涓烘閮藉仛鐨勬槸鏈瀹夊叏鐨勪簨鎯呫傚浜巗tring錛岃繖涔熸槸鍞竴鍙仛鐨勶紝鍥犱負娌℃湁鎵胯璇碿_str()浜х敓鐨勬寚閽堟寚鍦╯tring鏁版嵁鐨勫唴閮ㄨ〃紺哄艦寮忎笂錛涘畠鍙互榪斿洖涓涓寚閽堟寚鍚戞暟鎹殑涓涓笉鍙慨鏀圭殑鎷瘋礉錛岃繖涓嫹璐濇弧瓚矯椋庢牸API鍑芥暟瀵規(guī)牸寮忕殑瑕佹眰銆傦紙濡傛灉榪欎釜鎭愬悡浠や綘瀵掓瘺閮界珛璧鋒潵鐨勮瘽錛岃繕璇峰蹇冿紝鍥犱負瀹冧篃璁鎬笉鎴愮珛銆傛垜娌″惉璇寸洰鍓嶅摢涓繍琛屽簱鐨勫疄鐜版槸浣跨敤浜嗚繖涓嚜鐢辨潈鐨勩傦級

       瀵逛簬vector錛屾湁鏇村涓鐐圭偣鐏墊椿鎬с傚鏋滀綘灝唙浼犵粰涓涓慨鏀瑰叾鍏冪礌鐨凜椋庢牸API鍑芥暟鐨勮瘽錛屽吀鍨嬫儏鍐甸兘鏄病闂錛屼絾琚皟鐢ㄧ殑鍑芥暟緇濅笉鑳借瘯鍥炬敼鍙榲ector涓厓绱犵殑涓暟銆傛瘮濡傦紝瀹冪粷涓嶈兘璇曞浘鍦╲ector榪樻湭浣跨敤鐨勫閲忥紙capacity錛変笂鈥滃垱寤衡濇柊鐨勫厓绱犮傚鏋滆繖涔堝共浜嗭紝v灝嗕細鍙樺緱鍐呴儴鐘舵佷笉涓鑷達紝鍥犱負瀹冨啀涔熶笉鐭ラ亾鑷繁鐨勬紜ぇ灝忥紙size錛変簡銆倂.size()灝嗕細寰楀埌涓涓笉姝g‘鐨勭粨鏋溿傚茍涓旓紝濡傛灉琚皟鐢ㄧ殑鍑芥暟璇曞浘鍦ㄤ竴涓ぇ灝忓拰瀹歸噺錛堣Item 14錛夌浉絳夌殑vector涓婅拷鍔犳暟鎹殑璇濓紝鐪熺殑浼氬彂鐢熺伨闅炬т簨浠躲傛垜鐢氳嚦鏍規(guī)湰灝變笉鎰垮幓鎯寵薄瀹冦傚疄鍦ㄥお鍙曚簡銆?

       浣犳敞鎰忓埌鎴戝湪鍓嶉潰鐢ㄧ殑鏄滃吀鍨嬪湴鈥濅竴璇嶅悧錛熶綘褰撶劧娉ㄦ剰鍒頒簡銆傛湁浜泇ector瀵瑰叾鏁版嵁鏈変簺棰濆鐨勯檺鍒訛紝浣犱竴瀹氳紜繚榪欎簺棰濆闄愬埗緇х畫琚弧瓚熾備婦涓緥瀛愶紝Item 23瑙i噴浜嗘帓搴忕殑vector甯哥敤鏉ュ疄鐜板叧鑱斿鍣紝浣嗗榪欎簺vector鑰岃█錛屼繚鎸佹帓搴忛潪甯擱噸瑕併傚鏋滀綘灝嗕竴涓帓搴忕殑vector浼犵粰涓涓彲鑳戒慨鏀瑰叾鏁版嵁鐨凙PI鍑芥暟錛屼綘闇瑕侀噸瑙唙ector鍦ㄨ皟鐢ㄨ繑鍥炲悗涓嶅啀淇濇寔鎺掑簭鐨勬儏鍐點?

       濡傛灉浣犳兂鐢–椋庢牸API鍑芥暟榪斿洖鐨勫厓绱犲垵濮嬪寲涓涓獀ector錛屼綘鍙互鍒╃敤vector鍜屾暟緇勫唴鍦ㄧ殑鐩稿鎬э紝閫氳繃灝嗗瓨鍌╲ecotr鐨勫厓绱犵殑絀洪棿浼犵粰API鍑芥暟錛?

// C API: this function takes a pointer to an array of at most arraySize

// doubles and writes data to it. It returns the number of doubles written,

// which is never more than maxNumDoubles.

size_t fillArray(double *pArray, size_t arraySize);

vector<double> vd(maxNumDoubles); // create a vector whose

// size is maxNumDoubles

vd.resize(fillArray(&vd[0], vd.size())); // have fillArray write data

// into vd, then resize vd

// to the number of

// elements fillArray wrote

       榪欎釜鎶宸у彧鑳藉伐浣滀簬vector錛屽洜涓哄彧鏈塿ector鎵胯浜嗕笌鏁扮粍鍏鋒湁鐩稿悓鐨勫唴鍦ㄥ唴瀛樺垎甯冦備絾鏄紝濡傛灉浣犳兂鐢ㄦ潵鑷狢椋庢牸API鍑芥暟鐨勬暟鎹垵濮嬪寲string瀵硅薄錛屼綘鍙互鍋氬緱瓚沖綆鍗曘傚彧瑕佽API鍑芥暟灝嗘暟鎹斁鍏ヤ竴涓獀ector<char>錛岀劧鍚庝粠vector涓皢鏁版嵁鎷峰埌string:

// C API: this function takes a pointer to an array of at most arraySize

// chars and writes data to it. It returns the number of chars written,

// which is never more than maxNumChars.

size_t fillString(char *pArray, size_t arraySize);

vector<char> vc(maxNumChars); // create a vector whose

// size is maxNumChars

size_t charsWritten = fillString(&vc[0], vc.size()); // have fillString write

// into vc

string s(vc.begin(), vc.begin()+charsWritten); // copy data from vc to s

// via range constructor

// ( see Item 5)

       浜嬪疄涓婏紝榪欎釜涓繪剰鎬繪槸鏈夋晥鐨勶細璁〤椋庢牸API鍑芥暟灝嗘暟鎹斁鍏ヤ竴涓獀ector錛岀劧鍚庢嫹鍒頒綘瀹為檯鎯寵鐨凷TL瀹瑰櫒涓?

size_t fillArray(double *pArray, size_t arraySize); // as above

vector<double> vd(maxNumDoubles); // also as above

vd.resize(fillArray(&vd[0], vd.size());

deque<double> d(vd.begin(), vd.end()); // copy data into

// deque

list<double> l(vd.begin(), vd.end()); // copy data into list

set<double> s(vd.begin(), vd.end()); // copy data into set

       姝ゅ錛岃繖涔熸彁紺轟簡vector鍜宻tring浠ュ鐨凷TL瀹瑰櫒濡備綍灝嗗畠浠殑鏁版嵁浼犵粰C椋庢牸API鍑芥暟銆傚彧瑕佸皢瀹瑰櫒鐨勬瘡涓暟鎹嫹鍒皏ector錛岀劧鍚庡皢瀹冧滑浼犵粰API鍑芥暟錛?

void doSomething(const int* pInts, size_t numInts); // C API (from above)

set<int> intSet; // set that will hold

... // data to pass to API

vector<int> v(intSet.begin(), intSet.end()); // copy set data into

// a vector

if (!v.empty()) doSomething(&v[0], v.size()); // pass the data to

// the API

       浣犱篃鍙互灝嗘暟鎹嫹榪涗竴涓暟緇勶紝鐒跺悗灝嗘暟緇勪紶緇機椋庢牸鐨凙PI錛屼絾浣犱負浠涔堟兂榪欐牱鍋氾紵闄ら潪浣犲湪緙栬瘧鏈熷氨鐭ラ亾瀹瑰櫒鐨勫ぇ灝忥紝鍚﹀垯浣犱笉寰椾笉鍒嗛厤鍔ㄦ佹暟緇勶紝鑰孖tem 13瑙i噴浜嗕負浠涔堜綘搴旇鎬繪槸浣跨敤vector鏉ュ彇浠e姩鎬佸垎閰嶇殑鏁扮粍銆?

鑲ヤ粩 2008-06-19 16:13 鍙戣〃璇勮
]]>
浣跨敤boost.spirit鍒朵綔涓涓畝鍗曠殑鍥涘垯璁$畻鍣?/title><link>http://m.shnenglu.com/woaidongmao/archive/2008/05/17/50116.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Fri, 16 May 2008 16:16:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2008/05/17/50116.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/50116.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2008/05/17/50116.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/50116.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/50116.html</trackback:ping><description><![CDATA[<p></p> <div class="hvzpftn" id="page"> <div id="hvzpftn" class="narrowcolumn" id="main"> <div class="hvzpftn" id="contents" style="margin-right: 260px"> <div id="hvzpftn" class="llist1"> <div id="hvzpftn" class="padding6x"> <div id="hvzpftn" class="post" id="post-4942"> <div id="hvzpftn" class="content"> <div id="hvzpftn" class="intro"> <div id="hvzpftn" class="excerpt">銆浠庝紶緇熸剰涔変笂鏉ヨ錛宐oost.spirit搴撴槸涓涓被浼間簬yacc鐨勫簱錛屼富瑕佷笟鍔℃槸鍋氳瘝娉曡В鏋愶紝鐒跺悗鎻愪緵鍚勭璇誨彇鏁版嵁鐨勬帴鍙o紝浣嗘槸鐢變簬榪欐槸涓涓敤C++瀹炵幇銆佸茍涓斿ぇ閲忚繍Expression Templates鎶宸х殑搴?.. </div></div> <div id="hvzpftn" class="tbody">鐐瑰嚮涓嬭澆姝ゆ枃浠訛細<img style="margin: 0px 2px -4px 0px" alt="涓嬭澆鏂囦歡" src="http://www.kuqin.com/upimg/allimg/070913/0001320.gif"> <a target="_blank">綆鍗曠殑鍥涘垯璁$畻鍣ㄦ簮鐮佸拰鍙墽琛岀▼搴?/a><br><br>浠庝紶緇熸剰涔変笂鏉ヨ錛宐oost.spirit搴撴槸涓涓被浼間簬yacc鐨勫簱錛屼富瑕佷笟鍔℃槸鍋氳瘝娉曡В鏋愶紝鐒跺悗鎻愪緵鍚勭璇誨彇鏁版嵁鐨勬帴鍙o紝浣嗘槸鐢變簬榪欐槸涓涓敤C++瀹炵幇銆佸茍涓斿ぇ閲忚繍<a target="_blank">Expression Templates</a>鎶宸х殑搴擄紝鎵浠ュ悇縐嶅姛鑳藉彲浠ョ敤闈炲父蹇嵎鐨勬柟寮忓疄鐜幫紝闈炲父鐨勫ソ鐢紝鍑犱箮鎶奀++鐨勫悇縐嶄紭鑹壒鎬ч兘鍏呭垎鍙戞尌鍑烘潵銆?br><br>鍦ㄦ錛屾垜灝變粠boost.spirit搴撲腑闂寸殑涓涓緥瀛愬嚭鍙戯紝緇忚繃綆鍗曠殑淇敼灝卞彉鎴愪竴涓瀬涓哄仴澹殑鍥涘垯璁$畻鍣ㄣ傛垜鎵鍙傝冪殑渚嬪瓙鏄痓oost 1.34.0鐨刲ibs/spirit/example/fundamental/calc_plain.cpp錛屾垜鍥犱負鏄湪榪欎笂闈㈢洿鎺ヤ慨鏀硅屾潵錛屾墍浠ユ簮鐮佷腑甯︽湁鍘熶綔鑰呯殑鐗堟潈澹版槑銆?br><br>鍏充簬boost.spirit鐨勭敤娉曪紝鍦ㄨ繖閲屾垜鍏堜笉璇達紝浠ュ悗鏈夋椂闂存垜鏉ユ參鎱㈢殑鎶婂畠鐢ㄤ腑鍥借瘽璁茶В涓閬嶃傝繖涓▼搴忕殑鏍稿績瀹為檯涓婃槸涓涓狤BNF鐨勮〃杈懼紡錛屼篃灝辨槸濡備綍鐢‥BNF璇硶鏉ヨ〃紺哄洓鍒欒繍綆椼?br>鍦ㄨ繖閲岋紝鎴戝氨鐩存帴緇欏嚭絳旀錛圗BNF鐨勭煡璇嗚鏆傛椂鑷鐪嬬紪璇戝師鐞嗙殑鏁欐潗錛夛細<br> <div id="hvzpftn" class="UBBPanel"> <div id="hvzpftn" class="UBBTitle"><img style="margin: 0px 2px -3px 0px" alt="紼嬪簭浠g爜" src="http://www.kuqin.com/upimg/allimg/070913/0001321.gif"> 紼嬪簭浠g爜</div> <div id="hvzpftn" class="UBBContent"><br>expression ::= term ( ('+' term) | ('-' term) )*<br>term ::= factor ( ('*' factor) | ('/' factor) )*<br>factor ::= REAL | '(' ex ')' | ('-' factor) | ('+' factor)<br></div></div><br>鍏朵腑錛宔xpression灝辨槸鎴戜滑闇瑕佺殑琛ㄨ揪寮弍attern銆傛敞鎰忚繖閲岋紝姝f槸鐢變簬expression棣栧厛鍘誨尮閰峵erm錛岃宼erm棣栧厛鍘誨尮閰峟actor錛屾渶鍚巉actor鏄互鈥滅函鏁板瓧鈥濄佲滄嫭鍙封濄佲滄璐熺鍙封濈殑欏哄簭鍖歸厤錛宼erm鍒欐槸浠actor銆佲滀箻娉曗濄佲滈櫎娉曗濈殑欏哄簭鍖歸厤錛岃宔xpression鏄互term銆佲滃姞娉曗濄佲滃噺娉曗濈殑欏哄簭鍖歸厤錛屾墍浠ュ氨淇濊瘉浜嗘暣涓〃杈懼紡鍖歸厤榪囩▼鏄寜鐓у洓鍒欒繍綆楃殑鍏堝悗欏哄簭榪涜鐨勩傚湪鍖歸厤鐨勮繃紼嬩腑鍙瀹夋彃鍚勭鈥滅洃瑙嗏濈殑鍑芥暟錛坆oost.spirit閲岄潰鐨勬湳璇彨鍋氣渁ctor鈥濓級錛屽氨鍙互杞繪澗瀹炵幇鍥涘垯榪愮畻銆?br><br>鎶奅BNF瀵瑰簲鍒癰oost.spirit閲岋紝鍏蜂綋鐨刧rammer綾誨疄鐜板涓嬶細<br> <div id="hvzpftn" class="UBBPanel"> <div id="hvzpftn" class="UBBTitle"><img style="margin: 0px 2px -3px 0px" alt="紼嬪簭浠g爜" src="http://www.kuqin.com/upimg/allimg/070913/0001321.gif"> 紼嬪簭浠g爜</div> <div id="hvzpftn" class="UBBContent">struct calculator : public grammar<calculator><br>{<br>    template <typename ScannerT><br>    struct definition<br>    {<br>        definition(calculator const& /*self*/)<br>        {<br>            expression<br>                =   term<br>                >> *(   ('+' >> term[do_calc<do_add>()])<br>            |   ('-' >> term[do_calc<do_substract>()])<br>            )<br>                ;<br><br>            term<br>                =   factor<br>                >> *(   ('*' >> factor[do_calc<do_multiply>()])<br>            |   ('/' >> factor[do_calc<do_divide>()])<br>            )<br>                ;<br><br>            factor<br>                =   real_p[&push_real]<br>            |   '(' >> expression >> ')'<br>                |   ('-' >> factor[&do_neg])<br>            |   ('+' >> factor)<br>                ;<br>        }<br><br>        rule<ScannerT> expression, term, factor;<br><br>        rule<ScannerT> const&<br>            start() const { return expression; }<br>    };<br>};<br></div></div><br>璇鋒敞鎰忥紝calculator浠巊rammer媧劇敓錛屼絾鏄櫎浜嗗湪鍐呴儴瀹氫箟浜嗕竴涓祵濂梒lass浠ュ錛屽茍娌℃湁鍋氭洿澶氱殑浜嬫儏銆?br><br>鑷充簬榪欓噷闈㈢敤鍒扮殑do_calc<>銆乸ush_real絳塮unctor鍜屽嚱鏁幫紝鍒欐槸涓浜涙瀬涓虹畝鍗曠殑涓滆タ錛屽疄鐜板涓嬶細<br> <div id="hvzpftn" class="UBBPanel"> <div id="hvzpftn" class="UBBTitle"><img style="margin: 0px 2px -3px 0px" alt="紼嬪簭浠g爜" src="http://www.kuqin.com/upimg/allimg/070913/0001321.gif"> 紼嬪簭浠g爜</div> <div id="hvzpftn" class="UBBContent">namespace<br>{<br>    stack<double> calc_stack;<br><br>    struct do_add<br>    {<br>        double operator () (double lhs, double rhs) const<br>        {<br>            return lhs + rhs;<br>        }<br>    };<br><br>    struct do_substract<br>    {<br>        double operator () (double lhs, double rhs) const<br>        {<br>            return lhs - rhs;<br>        }<br>    };<br><br>    struct do_multiply<br>    {<br>        double operator () (double lhs, double rhs) const<br>        {<br>            return lhs * rhs;<br>        }<br>    };<br><br>    struct do_divide<br>    {<br>        double operator () (double lhs, double rhs) const<br>        {<br>            return lhs / rhs;<br>        }<br>    };<br><br>    template <typename op><br>    struct do_calc<br>    {<br>        void operator () (const char *, const char *) const<br>        {<br>            double result = calc_stack.top();<br>            calc_stack.pop();<br>            result = op()(calc_stack.top(), result);<br>            calc_stack.pop();<br>            calc_stack.push(result);<br>        }<br>    };<br><br>    void push_real(double d)<br>    {<br>        calc_stack.push(d);<br>    }<br><br>    void do_neg(char const*, char const*)  <br>    {<br>        cout << "NEGATE\n";<br>        double result = calc_stack.top();<br>        calc_stack.pop();<br>        calc_stack.push(-result);<br>    }<br><br>    double show_result()     <br>    {<br>        return calc_stack.top();<br>    }<br>}<br></div></div> <p><br>鍙互浠庢簮鐮佷腑娓呮櫚鐪嬪埌錛岃繖浜涘嚱鏁板氨鏄畝鍗曠殑鍋氫簡浜涘嚭鏍?鍏ユ爤浠ュ強榪愮畻鐨勫伐浣滐紝姣忎竴涓嚱鏁板姛鑳芥瀬涓哄崟綰紝鍙涓哄氨鏄竴浜涚姸鎬佸強澶勭悊鍑芥暟鑰屽凡錛岃岀姸鎬佹満閫昏緫鍒欑敱grammer鎼炲畾浜嗐?</p> <p>鍘熸枃閾炬帴錛?a >http://www.realdodo.com/blog/article.asp?id=216</a></p></div></div></div></div></div></div></div></div><img src ="http://m.shnenglu.com/woaidongmao/aggbug/50116.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2008-05-17 00:16 <a href="http://m.shnenglu.com/woaidongmao/archive/2008/05/17/50116.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>涓浜涘父鐢ㄧ殑姝e垯琛ㄨ揪寮?/title><link>http://m.shnenglu.com/woaidongmao/archive/2008/05/10/49475.html</link><dc:creator>鑲ヤ粩</dc:creator><author>鑲ヤ粩</author><pubDate>Sat, 10 May 2008 14:25:00 GMT</pubDate><guid>http://m.shnenglu.com/woaidongmao/archive/2008/05/10/49475.html</guid><wfw:comment>http://m.shnenglu.com/woaidongmao/comments/49475.html</wfw:comment><comments>http://m.shnenglu.com/woaidongmao/archive/2008/05/10/49475.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/woaidongmao/comments/commentRss/49475.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/woaidongmao/services/trackbacks/49475.html</trackback:ping><description><![CDATA[<div class="hvzpftn" id="csdnblog_allwrap"> <form language="javascript" id="Form1" name="Form1" action="http://blog.csdn.net/544214.aspx" method="post"> <div class="hvzpftn" id="csdnblog_midwrap"> <div class="hvzpftn" id="csdnblog_content"> <div id="hvzpftn" class="gutter"> <div id="hvzpftn" class="default_contents"> <div id="hvzpftn" class="user_article"> <div id="hvzpftn" class="blogstory"> <p><span style="color: #000000">"</span><span style="color: #000000">^\d+$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">闈炶礋鏁存暟錛堟鏁存暟 + 0錛?</span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^[0-9]*[1-9][0-9]*$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">姝f暣鏁?</span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^((-\d+)|(0+))$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">闈炴鏁存暟錛堣礋鏁存暟 + 0錛?</span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^-[0-9]*[1-9][0-9]*$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">璐熸暣鏁?</span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^-?\d+$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆銆銆</span><span style="color: #008000">//</span><span style="color: #008000">鏁存暟 </span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^\d+(\.\d+)?$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">闈炶礋嫻偣鏁幫紙姝f誕鐐規(guī)暟 + 0錛?</span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">姝f誕鐐規(guī)暟 </span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^((-\d+(\.\d+)?)|(0+(\.0+)?))$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">闈炴嫻偣鏁幫紙璐熸誕鐐規(guī)暟 + 0錛?</span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">璐熸誕鐐規(guī)暟 </span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^(-?\d+)(\.\d+)?$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">嫻偣鏁?</span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^[A-Za-z]+$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">鐢?6涓嫳鏂囧瓧姣嶇粍鎴愮殑瀛楃涓?</span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^[A-Z]+$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">鐢?6涓嫳鏂囧瓧姣嶇殑澶у啓緇勬垚鐨勫瓧絎︿覆 </span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^[a-z]+$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">鐢?6涓嫳鏂囧瓧姣嶇殑灝忓啓緇勬垚鐨勫瓧絎︿覆 </span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^[A-Za-z0-9]+$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">鐢辨暟瀛楀拰26涓嫳鏂囧瓧姣嶇粍鎴愮殑瀛楃涓?</span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^\w+$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">鐢辨暟瀛椼?6涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎緇勬垚鐨勫瓧絎︿覆 </span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆銆銆</span><span style="color: #008000">//</span><span style="color: #008000">email鍦板潃 </span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$</span><span style="color: #000000">"</span><span style="color: #000000">銆銆</span><span style="color: #008000">//</span><span style="color: #008000">url</span><span style="color: #008000"><br><a target="_blank"></a><a target="_blank"></a></span><span style="color: #000000">/^</span><span style="color: #000000">(d</span><span id="Codehighlighter1_768_770_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><a target="_blank"></a></span><span id="Codehighlighter1_768_770_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">2</span><span style="color: #000000">}</span></span><span style="color: #000000">|</span><span style="color: #000000">d</span><span id="Codehighlighter1_774_776_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><a target="_blank"></a></span><span id="Codehighlighter1_774_776_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">4</span><span style="color: #000000">}</span></span><span style="color: #000000">)</span><span style="color: #000000">-</span><span style="color: #000000">((</span><span style="color: #000000">0</span><span style="color: #000000">([</span><span style="color: #000000">1</span><span style="color: #000000">-</span><span style="color: #000000">9</span><span style="color: #000000">]</span><span id="Codehighlighter1_788_790_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><a target="_blank"></a></span><span id="Codehighlighter1_788_790_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">1</span><span style="color: #000000">}</span></span><span style="color: #000000">))</span><span style="color: #000000">|</span><span style="color: #000000">(</span><span style="color: #000000">1</span><span style="color: #000000">[</span><span style="color: #000000">1</span><span style="color: #000000">|</span><span style="color: #000000">2</span><span style="color: #000000">]))</span><span style="color: #000000">-</span><span style="color: #000000">(([</span><span style="color: #000000">0</span><span style="color: #000000">-</span><span style="color: #000000">2</span><span style="color: #000000">]([</span><span style="color: #000000">1</span><span style="color: #000000">-</span><span style="color: #000000">9</span><span style="color: #000000">]</span><span id="Codehighlighter1_817_819_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><a target="_blank"></a></span><span id="Codehighlighter1_817_819_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">1</span><span style="color: #000000">}</span></span><span style="color: #000000">))</span><span style="color: #000000">|</span><span style="color: #000000">(</span><span style="color: #000000">3</span><span style="color: #000000">[</span><span style="color: #000000">0</span><span style="color: #000000">|</span><span style="color: #000000">1</span><span style="color: #000000">]))$</span><span style="color: #000000">/</span><span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000">  騫?鏈?鏃?/span><span style="color: #008000"><br><a target="_blank"></a><a target="_blank"></a></span><span style="color: #000000">/^</span><span style="color: #000000">((</span><span style="color: #000000">0</span><span style="color: #000000">([</span><span style="color: #000000">1</span><span style="color: #000000">-</span><span style="color: #000000">9</span><span style="color: #000000">]</span><span id="Codehighlighter1_858_860_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><a target="_blank"></a></span><span id="Codehighlighter1_858_860_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">1</span><span style="color: #000000">}</span></span><span style="color: #000000">))</span><span style="color: #000000">|</span><span style="color: #000000">(</span><span style="color: #000000">1</span><span style="color: #000000">[</span><span style="color: #000000">1</span><span style="color: #000000">|</span><span style="color: #000000">2</span><span style="color: #000000">]))</span><span style="color: #000000">/</span><span style="color: #000000">(([</span><span style="color: #000000">0</span><span style="color: #000000">-</span><span style="color: #000000">2</span><span style="color: #000000">]([</span><span style="color: #000000">1</span><span style="color: #000000">-</span><span style="color: #000000">9</span><span style="color: #000000">]</span><span id="Codehighlighter1_888_890_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><a target="_blank"></a></span><span id="Codehighlighter1_888_890_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">1</span><span style="color: #000000">}</span></span><span style="color: #000000">))</span><span style="color: #000000">|</span><span style="color: #000000">(</span><span style="color: #000000">3</span><span style="color: #000000">[</span><span style="color: #000000">0</span><span style="color: #000000">|</span><span style="color: #000000">1</span><span style="color: #000000">]))</span><span style="color: #000000">/</span><span style="color: #000000">(d</span><span id="Codehighlighter1_908_910_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><a target="_blank"></a></span><span id="Codehighlighter1_908_910_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">2</span><span style="color: #000000">}</span></span><span style="color: #000000">|</span><span style="color: #000000">d</span><span id="Codehighlighter1_914_916_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><a target="_blank"></a></span><span id="Codehighlighter1_914_916_Open_Text"><span style="color: #000000">{</span><span style="color: #000000">4</span><span style="color: #000000">}</span></span><span style="color: #000000">)$</span><span style="color: #000000">/</span><span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000"> 鏈?鏃?騫?/span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$</span><span style="color: #000000">"</span><span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000">Emil</span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?</span><span style="color: #000000">"</span><span style="color: #000000">     </span><span style="color: #008000">//</span><span style="color: #008000">鐢佃瘽鍙風爜</span><span style="color: #008000"><br><a target="_blank"></a></span><span style="color: #000000">"</span><span style="color: #000000">^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$</span><span style="color: #000000">"</span><span style="color: #000000">   </span><span style="color: #008000">//</span><span style="color: #008000">IP鍦板潃</span><br></p> <p></p> <p>鍖歸厤涓枃瀛楃鐨勬鍒欒〃杈懼紡錛?[\u4e00-\u9fa5]<br>鍖歸厤鍙屽瓧鑺傚瓧絎?鍖呮嫭姹夊瓧鍦ㄥ唴)錛歔^\x00-\xff]<br>鍖歸厤絀鴻鐨勬鍒欒〃杈懼紡錛歕n[\s| ]*\r<br>鍖歸厤HTML鏍囪鐨勬鍒欒〃杈懼紡錛?<(.*)>.*<\/\1>|<(.*) \/>/<br>鍖歸厤棣栧熬絀烘牸鐨勬鍒欒〃杈懼紡錛?^\s*)|(\s*$)<br>鍖歸厤Email鍦板潃鐨勬鍒欒〃杈懼紡錛歕w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*<br>鍖歸厤緗戝潃URL鐨勬鍒欒〃杈懼紡錛歗[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$<br>鍖歸厤甯愬彿鏄惁鍚堟硶(瀛楁瘝寮澶達紝鍏佽5-16瀛楄妭錛屽厑璁稿瓧姣嶆暟瀛椾笅鍒掔嚎)錛歗[a-zA-Z][a-zA-Z0-9_]{4,15}$<br>鍖歸厤鍥藉唴鐢佃瘽鍙風爜錛?\d{3}-|\d{4}-)?(\d{8}|\d{7})?<br>鍖歸厤鑵捐QQ鍙鳳細^[1-9]*[1-9][0-9]*$<br></p> <p><u>涓嬭〃鏄厓瀛楃鍙婂叾鍦ㄦ鍒欒〃杈懼紡涓婁笅鏂囦腑鐨勮涓虹殑涓涓畬鏁村垪琛細 <br></u><br><strong>\</strong> 灝嗕笅涓涓瓧絎︽爣璁頒負涓涓壒孌婂瓧絎︺佹垨涓涓師涔夊瓧絎︺佹垨涓涓悗鍚戝紩鐢ㄣ佹垨涓涓叓榪涘埗杞箟絎︺?br><br><strong>^</strong> 鍖歸厤杈撳叆瀛楃涓茬殑寮濮嬩綅緗傚鏋滆緗簡 RegExp 瀵硅薄鐨凪ultiline 灞炴э紝^ 涔熷尮閰?鈥橽n鈥?鎴?鈥橽r鈥?涔嬪悗鐨勪綅緗?<br><br><strong>$</strong> 鍖歸厤杈撳叆瀛楃涓茬殑緇撴潫浣嶇疆銆傚鏋滆緗簡 RegExp 瀵硅薄鐨凪ultiline 灞炴э紝$ 涔熷尮閰?鈥橽n鈥?鎴?鈥橽r鈥?涔嬪墠鐨勪綅緗?<br><br><strong>*</strong> 鍖歸厤鍓嶉潰鐨勫瓙琛ㄨ揪寮忛浂嬈℃垨澶氭銆?<br><br><strong>+</strong> 鍖歸厤鍓嶉潰鐨勫瓙琛ㄨ揪寮忎竴嬈℃垨澶氭銆? 絳変環(huán)浜?{1,}銆?<br><br><strong>?</strong> 鍖歸厤鍓嶉潰鐨勫瓙琛ㄨ揪寮忛浂嬈℃垨涓嬈°? 絳変環(huán)浜?{0,1}銆?<br><br><strong>{n}</strong> n 鏄竴涓潪璐熸暣鏁幫紝鍖歸厤紜畾鐨刵 嬈°?br><br><strong>{n,}</strong> n 鏄竴涓潪璐熸暣鏁幫紝鑷沖皯鍖歸厤n 嬈°?<br><br><strong>{n,m}</strong> m 鍜?n 鍧囦負闈炶礋鏁存暟錛屽叾涓璶 <= m銆傛渶灝戝尮閰?n 嬈′笖鏈澶氬尮閰?m 嬈°傚湪閫楀彿鍜屼袱涓暟涔嬮棿涓嶈兘鏈夌┖鏍箋?br><br><strong>?</strong> 褰撹瀛楃绱ц窡鍦ㄤ換浣曚竴涓叾浠栭檺鍒剁 (*, +, ?, {n}, {n,}, {n,m}) 鍚庨潰鏃訛紝鍖歸厤妯″紡鏄潪璐┆鐨勩傞潪璐┆妯″紡灝藉彲鑳藉皯鐨勫尮閰嶆墍鎼滅儲鐨勫瓧絎︿覆錛岃岄粯璁ょ殑璐┆妯″紡鍒欏敖鍙兘澶氱殑鍖歸厤鎵鎼滅儲鐨勫瓧絎︿覆銆?<br><br><strong>.</strong> 鍖歸厤闄?"\n" 涔嬪鐨勪換浣曞崟涓瓧絎︺傝鍖歸厤鍖呮嫭 鈥橽n鈥?鍦ㄥ唴鐨勪換浣曞瓧絎︼紝璇蜂嬌鐢ㄨ薄 鈥橻.\n]鈥?鐨勬ā寮忋?<br><strong>(pattern)</strong> 鍖歸厤pattern 騫惰幏鍙栬繖涓鍖歸厤銆?<br><br><strong>(?:pattern)</strong> 鍖歸厤pattern 浣嗕笉鑾峰彇鍖歸厤緇撴灉錛屼篃灝辨槸璇磋繖鏄竴涓潪鑾峰彇鍖歸厤錛屼笉榪涜瀛樺偍渚涗互鍚庝嬌鐢ㄣ?<br><br><strong>(?=pattern)</strong> 姝e悜棰勬煡錛屽湪浠諱綍鍖歸厤 pattern 鐨勫瓧絎︿覆寮濮嬪鍖歸厤鏌ユ壘瀛楃涓層傝繖鏄竴涓潪鑾峰彇鍖歸厤錛屼篃灝辨槸璇達紝璇ュ尮閰嶄笉闇瑕佽幏鍙栦緵浠ュ悗浣跨敤銆?<br><br><strong>(?!pattern)</strong> 璐熷悜棰勬煡錛屼笌<strong>(?=pattern)</strong>浣滅敤鐩稿弽 <br><br><strong>x|y</strong> 鍖歸厤 x 鎴?y銆?<br><br><strong>[xyz]</strong> 瀛楃闆嗗悎銆?<br><br><strong>[^xyz]</strong> 璐熷煎瓧絎﹂泦鍚堛?<br><br><strong>[a-z]</strong> 瀛楃鑼冨洿錛屽尮閰嶆寚瀹氳寖鍥村唴鐨勪換鎰忓瓧絎︺?<br><br><strong>[^a-z]</strong> 璐熷煎瓧絎﹁寖鍥達紝鍖歸厤浠諱綍涓嶅湪鎸囧畾鑼冨洿鍐呯殑浠繪剰瀛楃銆?<br><br><strong>\b</strong> 鍖歸厤涓涓崟璇嶈竟鐣岋紝涔熷氨鏄寚鍗曡瘝鍜岀┖鏍奸棿鐨勪綅緗?br><br><strong>\B</strong> 鍖歸厤闈炲崟璇嶈竟鐣屻?<br><br><strong>\cx</strong> 鍖歸厤鐢眡鎸囨槑鐨勬帶鍒跺瓧絎︺?<br><br><strong>\d</strong> 鍖歸厤涓涓暟瀛楀瓧絎︺傜瓑浠蜂簬 [0-9]銆?<br><br><strong>\D</strong> 鍖歸厤涓涓潪鏁板瓧瀛楃銆傜瓑浠蜂簬 [^0-9]銆?<br><br><strong>\f</strong> 鍖歸厤涓涓崲欏電銆傜瓑浠蜂簬 \x0c 鍜?\cL銆?<br><br><strong>\n</strong> 鍖歸厤涓涓崲琛岀銆傜瓑浠蜂簬 \x0a 鍜?\cJ銆?<br><br><strong>\r</strong> 鍖歸厤涓涓洖杞︾銆傜瓑浠蜂簬 \x0d 鍜?\cM銆?<br><br><strong>\s</strong> 鍖歸厤浠諱綍絀虹櫧瀛楃錛屽寘鎷┖鏍箋佸埗琛ㄧ銆佹崲欏電絳夌瓑銆傜瓑浠蜂簬[ \f\n\r\t\v]銆?<br><br><strong>\S</strong> 鍖歸厤浠諱綍闈炵┖鐧藉瓧絎︺傜瓑浠蜂簬 [^ \f\n\r\t\v]銆?<br><br><strong>\t</strong> 鍖歸厤涓涓埗琛ㄧ銆傜瓑浠蜂簬 \x09 鍜?\cI銆?<br><br><strong>\v</strong> 鍖歸厤涓涓瀭鐩村埗琛ㄧ銆傜瓑浠蜂簬 \x0b 鍜?\cK銆?<br><br><strong>\w</strong> 鍖歸厤鍖呮嫭涓嬪垝綰跨殑浠諱綍鍗曡瘝瀛楃銆傜瓑浠蜂簬鈥橻A-Za-z0-9_]鈥欍?<br><br><strong>\W</strong> 鍖歸厤浠諱綍闈炲崟璇嶅瓧絎︺傜瓑浠蜂簬 鈥橻^A-Za-z0-9_]鈥欍?<br><br><strong>\xn</strong> 鍖歸厤 n錛屽叾涓?n 涓哄崄鍏繘鍒惰漿涔夊箋傚崄鍏繘鍒惰漿涔夊煎繀欏諱負紜畾鐨勪袱涓暟瀛楅暱銆?br><br><strong>\num</strong> 鍖歸厤 num錛屽叾涓璶um鏄竴涓鏁存暟銆傚鎵鑾峰彇鐨勫尮閰嶇殑寮曠敤銆?<br><br><strong>\n</strong> 鏍囪瘑涓涓叓榪涘埗杞箟鍊兼垨涓涓悗鍚戝紩鐢ㄣ傚鏋?\n 涔嬪墠鑷沖皯 n 涓幏鍙栫殑瀛愯〃杈懼紡錛屽垯 n 涓哄悗鍚戝紩鐢ㄣ傚惁鍒欙紝濡傛灉 n 涓哄叓榪涘埗鏁板瓧 (0-7)錛屽垯 n 涓轟竴涓叓榪涘埗杞箟鍊箋?<br><br><strong>\nm</strong> 鏍囪瘑涓涓叓榪涘埗杞箟鍊兼垨涓涓悗鍚戝紩鐢ㄣ傚鏋?\nm 涔嬪墠鑷沖皯鏈塱s preceded by at least nm 涓幏鍙栧緱瀛愯〃杈懼紡錛屽垯 nm 涓哄悗鍚戝紩鐢ㄣ傚鏋?\nm 涔嬪墠鑷沖皯鏈?n 涓幏鍙栵紝鍒?n 涓轟竴涓悗璺熸枃瀛?m 鐨勫悗鍚戝紩鐢ㄣ傚鏋滃墠闈㈢殑鏉′歡閮戒笉婊¤凍錛岃嫢 n 鍜?m 鍧囦負鍏繘鍒舵暟瀛?(0-7)錛屽垯 \nm 灝嗗尮閰嶅叓榪涘埗杞箟鍊?nm銆?<br><br><strong>\nml</strong> 濡傛灉 n 涓哄叓榪涘埗鏁板瓧 (0-3)錛屼笖 m 鍜?l 鍧囦負鍏繘鍒舵暟瀛?(0-7)錛屽垯鍖歸厤鍏繘鍒惰漿涔夊?nml銆?<br><br><strong>\un</strong> 鍖歸厤 n錛屽叾涓?n 鏄竴涓敤鍥涗釜鍗佸叚榪涘埗鏁板瓧琛ㄧず鐨刄nicode瀛楃銆?<br></p> <p>鍖歸厤涓枃瀛楃鐨勬鍒欒〃杈懼紡錛?[u4e00-u9fa5]</p> <p>鍖歸厤鍙屽瓧鑺傚瓧絎?鍖呮嫭姹夊瓧鍦ㄥ唴)錛歔^x00-xff]</p> <p>搴旂敤錛氳綆楀瓧絎︿覆鐨勯暱搴︼紙涓涓弻瀛楄妭瀛楃闀垮害璁?錛孉SCII瀛楃璁?錛?/p> <p>String.prototype.len=function(){return this.replace([^x00-xff]/g,"aa").length;}</p> <p>鍖歸厤絀鴻鐨勬鍒欒〃杈懼紡錛歯[s| ]*r</p> <p>鍖歸厤HTML鏍囪鐨勬鍒欒〃杈懼紡錛?<(.*)>.*</1>|<(.*) />/ </p> <p>鍖歸厤棣栧熬絀烘牸鐨勬鍒欒〃杈懼紡錛?^s*)|(s*$)</p> <p>搴旂敤錛歫avascript涓病鏈夊儚vbscript閭f牱鐨則rim鍑芥暟錛屾垜浠氨鍙互鍒╃敤榪欎釜琛ㄨ揪寮忔潵瀹炵幇錛屽涓嬶細</p> <p>String.prototype.trim = function()<br>{<br>return this.replace(/(^s*)|(s*$)/g, "");<br>}</p> <p>鍒╃敤姝e垯琛ㄨ揪寮忓垎瑙e拰杞崲IP鍦板潃錛?/p> <p>涓嬮潰鏄埄鐢ㄦ鍒欒〃杈懼紡鍖歸厤IP鍦板潃錛屽茍灝咺P鍦板潃杞崲鎴愬搴旀暟鍊肩殑Javascript紼嬪簭錛?/p> <p>function IP2V(ip)<br>{<br>re=/(d+).(d+).(d+).(d+)/g //鍖歸厤IP鍦板潃鐨勬鍒欒〃杈懼紡<br>if(re.test(ip))<br>{<br>return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1<br>}<br>else<br>{<br>throw new Error("Not a valid IP address!")<br>}<br>}</p> <p>涓嶈繃涓婇潰鐨勭▼搴忓鏋滀笉鐢ㄦ鍒欒〃杈懼紡錛岃岀洿鎺ョ敤split鍑芥暟鏉ュ垎瑙e彲鑳芥洿綆鍗曪紝紼嬪簭濡備笅錛?/p> <p>var ip="10.100.20.168"<br>ip=ip.split(".")<br>alert("IP鍊兼槸錛?+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))</p> <p>鍖歸厤Email鍦板潃鐨勬鍒欒〃杈懼紡錛歸+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*</p> <p>鍖歸厤緗戝潃URL鐨勬鍒欒〃杈懼紡錛歨ttp://([w-]+.)+[w-]+(/[w- ./?%&=]*)?</p> <p>鍒╃敤姝e垯琛ㄨ揪寮忓幓闄ゅ瓧涓蹭腑閲嶅鐨勫瓧絎︾殑綆楁硶紼嬪簭錛?/p> <p>var s="abacabefgeeii"<br>var s1=s.replace(/(.).*1/g,"$1")<br>var re=new RegExp("["+s1+"]","g")<br>var s2=s.replace(re,"") <br>alert(s1+s2) //緇撴灉涓猴細abcefgi</p> <p>鎴戝師鏉ュ湪CSDN涓婂彂璐村姹備竴涓〃杈懼紡鏉ュ疄鐜板幓闄ら噸澶嶅瓧絎︾殑鏂規(guī)硶錛屾渶緇堟病鏈夋壘鍒幫紝榪欐槸鎴戣兘鎯沖埌鐨勬渶綆鍗曠殑瀹炵幇鏂規(guī)硶銆傛濊礬鏄嬌鐢ㄥ悗鍚戝紩鐢ㄥ彇鍑哄寘鎷噸澶嶇殑瀛楃錛屽啀浠ラ噸澶嶇殑瀛楃寤虹珛絎簩涓〃杈懼紡錛屽彇鍒頒笉閲嶅鐨勫瓧絎︼紝涓よ呬覆榪炪傝繖涓柟娉曞浜庡瓧絎﹂『搴忔湁瑕佹眰鐨勫瓧絎︿覆鍙兘涓嶉傜敤銆?/p> <p>寰楃敤姝e垯琛ㄨ揪寮忎粠URL鍦板潃涓彁鍙栨枃浠跺悕鐨刯avascript紼嬪簭錛屽涓嬬粨鏋滀負page1</p> <p>s="http://www.9499.net/page1.htm"<br>s=s.replace(/(.*/){0,}([^.]+).*/ig,"$2")<br>alert(s)</p> <p>鍒╃敤姝e垯琛ㄨ揪寮忛檺鍒剁綉欏佃〃鍗曢噷鐨勬枃鏈杈撳叆鍐呭錛?/p> <p>鐢ㄦ鍒欒〃杈懼紡闄愬埗鍙兘杈撳叆涓枃錛歰nkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"</p> <p>鐢ㄦ鍒欒〃杈懼紡闄愬埗鍙兘杈撳叆鍏ㄨ瀛楃錛?onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"</p> <p>鐢ㄦ鍒欒〃杈懼紡闄愬埗鍙兘杈撳叆鏁板瓧錛歰nkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"</p> <p>鐢ㄦ鍒欒〃杈懼紡闄愬埗鍙兘杈撳叆鏁板瓧鍜岃嫳鏂囷細onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"</p></div></div></div></div></div></div></form></div><img src ="http://m.shnenglu.com/woaidongmao/aggbug/49475.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/woaidongmao/" target="_blank">鑲ヤ粩</a> 2008-05-10 22:25 <a href="http://m.shnenglu.com/woaidongmao/archive/2008/05/10/49475.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>VC6涓嬌鐢⊿TLPort4.6.2http://m.shnenglu.com/woaidongmao/archive/2008/05/07/49105.html鑲ヤ粩鑲ヤ粩Wed, 07 May 2008 02:53:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/05/07/49105.htmlhttp://m.shnenglu.com/woaidongmao/comments/49105.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/05/07/49105.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/49105.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/49105.html緙栬瘧灝變笉璇翠簡, 緗戜笂榪欐柟闈㈢殑鏂囩珷寰堝

********************************************
濡傛灉鍜孭latformSDK 涓璧蜂嬌鐢ㄧ殑璇?br>瑕佽鐨勫湪STLport鐩綍涓?\stlport\stl_user_config.h 鏂囦歡涓?br>鎶婅繖涓鍙ユ墦寮

     # define _STLP_NEW_PLATFORM_SDK 1

鍚﹀垯鍦ㄧ紪璇戞椂浼氭湁濡備笅閿欒
second C linkage of overloaded function 'InterlockedIncrement' not allowed

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

濡傛灉鎯抽潤鎬侀摼鎺?STLPort 璇峰湪VC6鐨?C/C++ \ General \ Preprocessor definitions
涓坊鍔犲畯 _STLP_USE_STATIC_LIB

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

瀵規(guī)柤浣跨敤IOSTREAM鐨? 濡傛灉鏈夐棶棰?br>鍦⊿TLport鐩綍涓?\stlport\stl_user_config.h 鏂囦歡涓?br>鎶婅繖涓鍙ユ墦寮鍚?

    # define _STLP_NO_IOSTREAMS 1

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

- When you erase an element from a hash_map only iterators to the erased element are invalidated
  so you can write something like:

while (it != myHashMap.end()) {
if (condition)
myHashMap.erase(it++); //榪欓噷涓轟綍榪欐牱涓嶅嚭閿?鑰屾妸it++鏀懼闈㈠氨涓嶈鍛?br>    //鍦ㄥ闈㈡槸瀵瑰垹闄ゅ悗鐨勬棤鏁堟寚閽堝姞, 鑰岄噷闈㈡槸瀵規(guī)湁鏁堟寚閽堝姞
else
++it;
}

  To finish STLport has a special debug mode to check such bad construction. Check the
  stl_user_config.h file in the stlport folder for that, the macro is _STLP_DEBUG.

鑲ヤ粩 2008-05-07 10:53 鍙戣〃璇勮
]]>
Boost.Pythonhttp://m.shnenglu.com/woaidongmao/archive/2008/04/25/48144.html鑲ヤ粩鑲ヤ粩Fri, 25 Apr 2008 09:54:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/04/25/48144.htmlhttp://m.shnenglu.com/woaidongmao/comments/48144.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/04/25/48144.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/48144.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/48144.htmlBoost.Python 鏄?Boost 涓殑涓涓粍浠訛紝 浣跨敤瀹冭兘澶熷ぇ澶х畝鍖栫敤 C++ 涓?Python 鍐欐墿灞曞簱鐨勬楠わ紝鎻愰珮寮鍙戞晥鐜囷紝 铏界劧鐩墠瀹冨 Python 宓屽叆 C++ 鐨勬敮鎸佽繕涓嶆槸寰堝錛?浣嗕篃鑳芥彁渚涘緢澶ф柟渚褲傚彟澶栵紝 鍗庡畤鐓?/a>涔熺紪鍐欎簡涓浠藉叧浜?Boost.Python 綆鏄庢暀紼?/a>銆?

1 Boost 瀹夎綆浠?/h3>

鍦ㄦ寮忓紑濮嬩嬌鐢?Boost.Python 涔嬪墠錛?鎴戜滑蹇呴』鍏堢紪璇?Boost銆?棣栧厛鍒?Boost 鐨勫畼鏂圭珯鐐?/a> 涓嬭澆 Boost 鐨勬簮鐮佸寘錛?鎶婂畠浠В鍘嬪埌浣犲枩嬈㈢殑鐩綍錛屼負緙栬瘧鍋氬ソ鍑嗗銆?鍙﹀錛?鍦ㄦ寮忓畨瑁?Boost.Python 涔嬪墠錛?鎴戜滑蹇呴』鍏堟紜畨瑁?Python銆?

1.1 Linux 涓嬬殑緙栬瘧

棣栧厛鍒囨崲鍒?Boost 婧愮爜鎵鍦ㄧ殑璺緞錛?鎵ц ./configure 鑴氭湰錛屼負閰嶇疆鑴氭湰鎻愪緵 Python 榪愯鐜鐩稿簲鐨勫弬鏁幫細

./configure --with-python=/usr/bin/python \
            --with-python-version=2.4 \
            --with-python-root=/usr

鐒跺悗錛?鍜岀粷澶ч儴鍒?Linux 紼嬪簭涓琛岋紝 鎵ц make 灝卞彲浠ュ紑濮嬬紪璇戜簡銆傜紪璇戝畬姣曞悗錛?鍒囨崲鍒?root 鏉冮檺鍚庡啀鎵ц make install錛屾妸 Boost 鐩稿簲鐨勫ご鏂囦歡鍜屽簱鏂囦歡澶嶅埗鍒扮浉搴旂殑鍦版柟錛?灝卞彲浠ヤ嬌鐢ㄤ簡銆?

1.2 浣跨敤 MinGW + MSys 鍦?Windows 涓嬬殑緙栬瘧

棣栧厛闇瑕佺紪璇戠殑鏄?Boost 鐨勭紪璇戝伐鍏?bjam錛?鐩存帴鍒?bjam 鎵鍦ㄧ洰褰曚笅錛?鍗?Boost 婧愮爜鍖呮墍鍦ㄧ洰褰曚笅鐨?\tools\build\jam_src錛?鎵ц build.bat mingw錛岀◢絳夌墖鍒伙紝 bjam.exe 灝辯紪璇戝ソ浜嗐?鎶婄紪璇戝ソ鐨?bjam.exe 澶嶅埗鍒頒綘鐨?%PATH% 璺緞鑳藉鐩存帴鎵懼埌鐨勫湴鏂癸紝 涓哄悗緇殑緙栬瘧宸ヤ綔鍋氬ソ鍑嗗銆?

鎺ヤ笅鏉ワ紝 鍒囨崲鍒?Boost 婧愮爜鎵鍦ㄨ礬寰勶紝 鎵ц bjam 榪涜緙栬瘧銆?鎴戜滑闇瑕佹彁渚涘叧浜?Python 鐨勪竴浜涘弬鏁幫紝 鍙橀噺 PYTHON_ROOT 鎸囧悜 Python 榪愯鐜鎵鍦ㄧ殑鐩綍錛屽彉閲?PYTHON_VERSION 鐨勫間負 Python 鐨勭増鏈彿錛?濡傛灉浣犵殑 Python 瀹夎璺緞涓庢粐鐙愪笉鍚岋紝璇峰皢鐩稿簲鐨勫彉閲忎慨鏀逛負浣犳満鍣ㄤ笂鐩稿簲鐨勮礬寰勶紝 緙栬瘧鍛戒護琛屽涓嬶細

bjam.exe "-sTOOLS=mingw" "-sPYTHON_ROOT=E:\Python" "-sPYTHON_VERSION=2.4"

緙栬瘧瀹屾瘯鍚庯紝 浣犲皢浼氬湪浣犵殑 C:\Boost 涓嬫壘鍒扮紪璇戝緱鍒扮殑 Boost 鐩稿簲澶存枃浠朵笌搴撴枃浠訛紝 浣犲彲浠ユ牴鎹綘鐨勯渶瑕佸皢瀹冪Щ鍔ㄥ埌鍒殑鍦版柟澶囩敤銆?

2 浣跨敤 Boost.Python 宓屽叆 Python 妯″潡鍒?C++

Boost.Python 鐩墠騫舵病鏈夋彁渚涘畬鏁寸殑灝?Python 妯″潡宓屽叆鍒?C++ 鐨勫寘瑁呭簱錛屽洜姝よ澶氬伐浣滄垜浠繕蹇呴』閫氳繃 Python C API 鏉ヨ繘琛屻?浣嗘槸錛?鍒╃敤 Boost.Python 涓彁渚涚殑涓浜涙ā鍧楋紝 鑳藉緇欐垜浠殑宸ヤ綔甯︽潵鏋佸ぇ渚垮埄銆?

2.1 淇敼妯″潡鍔犺澆璺緞錛岃鍏?Python 妯″潡

涓庝換浣曚竴涓叾瀹?Python 宓屽叆 C/C++ 鐨勭▼搴忎竴鏍鳳紝 鎴戜滑闇瑕佸湪絎竴鏉?#include 璇彞澶勫惈鍏?Python.h錛?騫跺湪紼嬪簭寮濮嬫椂璋冪敤 Py_Initialize()錛屽湪紼嬪簭緇撴潫鏃惰皟鐢?Py_Finalize()銆?

鎺ヤ笅鏉ワ紝 鎴戜滑渚垮彲浠ュ紑濮嬪噯澶囪鍏?Python 妯″潡浜嗐?涓轟簡璁?Python 瑙i噴鍣ㄨ兘澶熸紜湴鎵懼埌 Python 妯″潡鎵鍦ㄧ殑浣嶇疆錛?鎴戜滑闇瑕佸皢 Python 妯″潡鎵鍦ㄧ殑璺緞娣誨姞鍒版ā鍧楁悳绱㈣礬寰勪腑錛屾坊鍔犳悳绱㈣礬寰勭殑 Python 璇彞濡備笅錛?pre>import sys if not '/module/path' in sys.path: sys.path.append('/module/path')

鎴戜滑浣跨敤 Python C API 鎵ц綾諱技鐨勮鍙ワ紝 灝辮兘灝嗘ā鍧楃殑鎼滅儲璺緞娣誨姞鍒?Python 瑙i噴鍣ㄤ腑銆?娣誨姞浜嗘悳绱㈣礬寰勫悗錛?灝卞彲浠ラ氳繃 PyImport_ImportModule 鍑芥暟鍔犺澆 Python 妯″潡浜嗐?PyImport_ImportModule 榪斿洖鍊兼槸 PyObject *錛?涓轟簡閬垮厤鎵嬪伐澶勭悊綣佺悙鐨勫紩鐢ㄨ鏁扮瓑闂錛屾垜浠眰鍔╀簬 Boost.Python 鎻愪緵鐨?handle 妯″潡錛?灝?PyObject * 灝佽璧鋒潵錛?浠ユ柟渚夸嬌鐢紝 浠g爜濡備笅錛?pre>#include <boost/python.hpp> ... boost::python::handle<>* _module; // Module handle. std::string path; // Path of the Python module. std::string module; // Module name. ... try { PyRun_SimpleString("import sys"); PyRun_SimpleString((std::string("if not '") + path + "' in sys.path: sys.path.append('" + path + "')").c_str()); _module = new boost::python::handle<>( PyImport_ImportModule((char *) module)); ... } catch (...) { PyErr_Print(); PyErr_Clear(); delete _module; _module = NULL; return false; } ...

闇瑕佹敞鎰忕殑鏄紝 閫氳繃 Python C API 鍔犺澆鐨?Python 瑙i噴鍣ㄥ茍娌℃湁鎶婂綋鍓嶈礬寰勫垪鍏ラ粯璁ょ殑鎼滅儲璺緞涓傚洜姝わ紝 鍗充嬌浣犵殑 Python 妯″潡灝卞瓨鏀懼湪褰撳墠璺緞錛?浣犱篃蹇呴』浣跨敤涓婇潰鐨勪唬鐮佸皢褰撳墠璺緞娣誨姞鍒版悳绱㈣礬寰勪腑涔嬪悗錛屾墠鑳介氳繃 PyImport_ImportModule 鍔犺澆鍒版ā鍧椼?

褰?Python 妯″潡浣跨敤瀹屾瘯鎴栫▼搴忕粨鏉熸椂錛?璇蜂嬌鐢?delete 灝?_module 鎸囬拡閲婃斁錛?handle 琚噴鏀劇殑鏃跺欎細鑷姩閲婃斁鐩稿簲鐨?Python 妯″潡騫跺洖鏀剁浉搴旇祫婧愩?

2.2 璋冪敤 Python 鍑芥暟

瀵煎叆浜?Python 妯″潡涔嬪悗錛?璋冪敤 Python 鍑芥暟灝遍潪甯稿鏄撲簡銆?Boost.Python 閲屽皝瑁呬簡涓涓潪甯稿ソ鐢ㄧ殑妯℃澘鍑芥暟 boost::python::call_method錛屽畠鍙互鏇夸綘澶勭悊璋冪敤鍑芥暟鏃墮渶瑕佸鐞嗙殑縐嶇緇嗚妭錛?灝嗕綘浠?Python C API 涓箒鐞愮殑鈥滃皢鍙傛暟鎵撳寘涓?PyObject *鈥濄?鈥滄瀯閫?Tuple鈥濄?鈥滀紶閫?Tuple鈥濄?鈥滆В鍖呰繑鍥炲尖濈瓑宸ヤ綔涓交搴曡В鏀懼嚭鏉ワ紝 浣犲彧闇瑕佽繖鏍鳳細

    boost::python::call_method<榪斿洖鍊肩被鍨?gt;(妯″潡鎸囬拡, "Python 鍑芥暟鍚?,
        鍙傛暟 1, 鍙傛暟 2, ...);

妯″潡鎸囬拡鍙互閫氳繃鎴戜滑鍓嶉潰寰楀埌鐨?_module 鐨?get 鏂規(guī)硶鑾峰緱錛?渚嬪錛?pre>... bool result; std::string config_file; ... try { return boost::python::call_method<bool>(_module->get(), "initialize", config_file); } catch (...) { PyErr_Print(); PyErr_Clear(); ... } ...

2.3 浣跨敤 Python 綾誨璞?/h4>

浣跨敤 Python C API 璋冪敤 Python 鍑芥暟鍜岃皟鐢?Python 綾誨璞℃槸娌℃湁澶ぇ鍖哄埆鐨勶紝鎴戜滑鍙渶瑕佽皟鐢ㄧ被鐨勬瀯閫犳柟娉曪紝 寰楀埌涓涓被瀵硅薄錛?鐒跺悗鎶婅綾葷殑鎸囬拡鐪嬪仛妯″潡鎸囬拡錛屾寜鐓у墠闈㈣皟鐢ㄦ櫘閫氬嚱鏁扮殑鏂規(guī)硶璋冪敤綾繪垚鍛樻柟娉曞氨鍙互浜嗐?渚嬪錛?涓嬪垪浠g爜浠?_module 涓垱寤轟簡涓涓?YukiSession 瀵硅薄錛?鐒跺悗璋冪敤浜嗗叾涓殑 on_welcome 鏂規(guī)硶銆?闄や簡灞曠ず璋冪敤綾繪垚鍛樻柟娉曞錛?榪欐浠g爜榪樺睍紺轟簡鏋勯?Python list 瀵硅薄銆?浠?Python list 瀵硅薄涓幏鍙栧厓绱犵殑鏂瑰紡銆?pre> ... boost::python::handle<> _yukisession; ... // Retrieve the module handle and namespace handle. boost::python::object main_module(*_module); boost::python::object main_namespace = main_module.attr("__dict__"); // Call the method and get the object handle. _yukisession = boost::python::handle<>((PyRun_String( "YukiSession()", Py_eval_input, main_namespace.ptr(), main_namespace.ptr()))); ... // Compose a list. boost::python::list param; param.append(boost::python::str(_addr.get_host_addr())); param.append(boost::python::str()); // Call the method and retrieve the result. // Method is equivalent to: // "bool __thiscall YukiSession::on_welcome(list param);" result = boost::python::call_method<bool> (_yukisession.get(), "on_welcome", param); // Extract an item from a list. str = boost::python::call_method<std::string> (param.ptr(), "__getitem__", 1); ...

3 鍦ㄥ祵鍏ョ殑 Python 妯″潡涓皟鐢?C++ 紼嬪簭

閫氳繃鍔ㄦ侀摼鎺ュ簱鐨勬柟寮忎嬌鐢?Boost.Python 瀵煎嚭 C++ 妯″潡鍒?Python 紼嬪簭涓庡湪 C++ 鍙墽琛岀▼搴忎腑瀵煎嚭妯″潡緇欏祵鍏ョ殑 Python 瑙i噴鍣紝 緙栧啓紼嬪簭鐨勬柟寮忓嚑涔庢槸瀹屽叏鐩稿悓鐨勩傚洜姝よ繖閲屽彧綆鍗曚粙緇嶅鍑烘櫘閫氬嚱鏁扮殑鏂規(guī)硶錛?鎯寵緇嗕簡瑙f洿澶氶珮綰у姛鑳斤紝 濡傚鍑?C++ 綾匯?瀵煎嚭鍙 Python 閲嶈澆鐨勭被絳夛紝 鍙互鍙傜湅鍗庡畤鐓滅殑 Boost.Python 綆鏄庢暀紼?/a>鎴栧畼鏂?Boost.Python 鏂囨。銆?

3.1 瀵煎嚭 C++ 鍑芥暟

棣栧厛浣跨敤 BOOST_PYTHON_MODULE 瀹忓畾涔夐渶瑕佸鍑虹粰 Python 鐨勬ā鍧楋紝鐒跺悗鐢?boost::python::def 璇彞瀹氫箟瀵煎嚭鐨勫嚱鏁般?鍙傛暟鍒楄〃浠ュ強 Doc String錛?渚嬪鍦ㄤ笅闈㈢殑渚嬪瓙涓紝 鎴戜滑瀵煎嚭浜嗕竴涓?C++ 鍑芥暟 yukigettext錛屽茍閲嶅懡鍚嶄負 gettext錛?pre>const char *yukigettext(const char *id); BOOST_PYTHON_MODULE(yuki) { boost::python::def("gettext", yukigettext, boost::python::args("id"), "Translate message."); }

3.2 涓?Python 鍒濆鍖?C++ 妯″潡

浣跨敤 BOOST_PYTHON_MODULE(name) 瀹氫箟浜?Python 妯″潡鍚庯紝璇ュ畯浼氳嚜鍔ㄧ敓鎴愪竴涓嚱鏁?initname錛?鎴戜滑闇瑕佸湪 Py_Initialize() 涔嬪悗璋冪敤榪欎釜鑷姩鐢熸垚鐨勫嚱鏁幫紝 鍒濆鍖栧鍑哄埌 Python 鐨勬ā鍧椼?渚嬪鎴戜滑鍒氭墠瀵煎嚭妯″潡鐢ㄧ殑瀹?BOOST_PYTHON_MODULE(yuki)錛?鍥犳鍒濆鍖栫殑鏃跺欏氨搴旇璋冪敤 inityuki()錛?pre>... Py_Initialize(); inityuki(); ...

3.3 鍦?Python 妯″潡涓皟鐢?C++ 妯″潡

姝ゆ椂鎴戜滑鍦?Python 妯″潡涓彧闇瑕佸儚鏅氱殑 Python 妯″潡閭f牱錛?灝嗗鍏ョ殑 C++ 妯″潡鐢?import 璇彞鍔犺澆榪涙潵錛?灝卞彲浠ヨ皟鐢ㄤ簡錛?pre>import yuki ... print yuki.gettext("This is a test!")

鑲ヤ粩 2008-04-25 17:54 鍙戣〃璇勮
]]>
瀵瑰瓧絎︿覆綾誨瀷鍜屾暟鍊肩被鍨嬮棿榪涜杞崲闂鐨勫鐞嗕箣Boost緇勪歡lexical_casthttp://m.shnenglu.com/woaidongmao/archive/2008/04/25/48140.html鑲ヤ粩鑲ヤ粩Fri, 25 Apr 2008 09:08:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/04/25/48140.htmlhttp://m.shnenglu.com/woaidongmao/comments/48140.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/04/25/48140.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/48140.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/48140.html鍦–SDN璁哄潧涓婄粡甯哥湅鍒拌闂浣曞湪瀛楃涓茬被鍨嬪拰鏁板肩被鍨嬮棿榪涜杞崲鐨勯棶棰橈紝涔熺湅鍒頒簡璁稿涓嶅悓鐨勭瓟妗堛備笅闈㈠厛璁ㄨ涓涓嬩粠瀛楃涓茬被鍨嬪埌鏁板肩被鍨嬬殑杞崲銆?
  1. 濡備綍灝嗗瓧絎︿覆"123"杞崲涓篿nt綾誨瀷鏁存暟123錛熺瓟妗堟槸錛岀敤鏍囧噯C鐨勫簱鍑芥暟atoi錛?
  2. 濡傛灉瑕佽漿鎹負long綾誨瀷鍛紵鏍囧噯C鐨勫簱鍑芥暟atol錛?
  3. 濡備綍灝?123.12"杞崲涓篸ouble綾誨瀷鍛紵鏍囧噯C鐨勫簱鍑芥暟atod錛?
  4. 濡傛灉瑕佽漿鎹負long double綾誨瀷鍛紵鏍囧噯C鐨勫簱鍑芥暟atold錛?
  5. 鈥︹?

鍚庢潵鏈夋湅鍙嬪紑濮嬩嬌鐢ㄦ爣鍑嗗簱涓殑string綾伙紝闂繖涓浣曡漿鎹負鏁板鹼紵鏈夋湅鍙嬬瓟鏇幫紝璇峰厛杞崲涓篶onst char*銆傛垜寰堜僵鏈嶄綔絳旇呮湁鏁板瀹剁殑鎬濈淮錛氭妸闄岀敓鐨勯棶棰樿漿鍖栨垚鐔熸?zhèn)夌殑闂銆傦紙鏇劇粡鏈変竴鍒欑瑧璇濓紝濂戒簨鑰呴棶鏁板瀹訛細鐭ラ亾濡備綍鐑ф按鍚楋紵絳旓細鐭ラ亾銆傛妸姘村6鍔犳弧姘達紝鐐圭伀鐑с傚張闂細濡傛灉姘村6閲屽凡緇忔湁姘翠簡鍛紵絳旓細鍏堝掓帀錛屽氨杞寲涓烘垜鐔熸?zhèn)夌殑闂浜嗏︹︼級

涓嶏紝涓嶏紝榪欐牱鏄疌鐨勫仛娉曪紝涓嶆槸C++銆傞偅涔堬紝C++璇ユ庝箞鍋氬憿錛熶嬌鐢˙oost Conversion Library鎵鎻愪緵鐨勫嚱鏁發(fā)exical_cast錛堥渶瑕佸紩鍏ュご鏂囦歡boost/lexical_cast.hpp錛夋棤鐤戞槸鏈綆鍗曟柟渚跨殑銆傚錛?

#include <boost/lexical_cast.hpp>
#include <iostream>
int main()
{
        using boost::lexical_cast;
        int a = lexical_cast<int>("123");
        double b = lexical_cast<double>("123.12");
        std::cout<<a<<std::endl
        std::cout<<b<<std::endl;
        return 0;
}

涓涓嚱鏁板氨綆媧佸湴瑙e喅浜嗘墍鏈夌殑闂銆?

涓嶇煡閬撹浣嶅C閲岀殑scanf/printf緋誨垪鍗拌薄濡備綍錛屾諱箣闃跨偗鎴戣偗瀹氳涓嶄綇閭d簺紼濂囧彜鎬殑鍙傛暟錛岃屼笖濡傛灉鍐欓敊浜嗗弬鏁幫紝灝變細寰楀埌鑾悕鍏跺鐨勮緭鍑虹粨鏋滐紝璋冭瘯璧鋒潵鍙氨瑕佸懡浜嗭紙鎴戞洿璁ㄥ帉鐨勬槸瀛楃鏁扮粍錛岀┖闂村紑100鍛紝鍙堟曞お灝忚涓嶄笅錛涘紑100000鍛紝鎬昏寰楀お嫻垂錛屽績閲屾唻姘旓紝濂藉湪C++鏍囧噯涓烘垜浠彁渚涗簡string榪欐牱鐨勫瓧絎︿覆綾伙級銆傝繖鏃跺欙紝lexical_cast灝卞嚭鏉ュ府蹇欏暒銆?

#include <boost/lexical_cast.hpp>
#include <string>
#include <iostream>
int main()
{
        using std::string;
        const double d = 123.12;
        string s = boost::lexical_cast<string>(d);
        std::cout<<s<<std::endl;
        return 0;
}

璺熷墠闈竴鏍風畝鍗曘?

3.3 寮傚父

濡傛灉杞崲澶辮觸錛屽垯浼氭湁寮傚父bad_lexical_cast鎶涘嚭銆傝寮傚父綾繪槸鏍囧噯寮傚父綾籦ad_cast鐨勫瓙綾匯?

#include <boost/lexical_cast.hpp>
#include <iostream>
int main()
{
        using std::cout;
        using std::endl;
        int i;
        try{
                i = boost::lexical_cast<int>("abcd");
        }
        catch(boost::bad_lexical_cast& e)
        {
                cout<<e.what()<<endl;
                return 1;
        }
        cout<<i<<endl;
        return 0;
}

鏄劇劧鈥渁bcd鈥濆茍涓嶈兘杞崲涓轟竴涓猧nt綾誨瀷鐨勬暟鍊鹼紝浜庢槸鎶涘嚭寮傚父錛屾崟鎹夊悗杈撳嚭鈥渂ad lexical cast: source type value could not be interpreted as target鈥濊繖鏍風殑淇℃伅銆?

3.4 娉ㄦ剰浜嬮」

lexical_cast渚濊禆浜庡瓧絎︽祦std::stringstream錛堜細鑷姩寮曞叆澶存枃浠?a >4錛夛紝鍏跺師鐞嗙浉褰撶畝鍗曪細鎶婃簮綾誨瀷璇誨叆鍒板瓧絎︽祦涓紝鍐嶅啓鍒扮洰鏍囩被鍨嬩腑錛屽氨澶у姛鍛婃垚銆備緥濡?

int d = boost::lexical_cast<int>("123");

灝辯浉褰撲簬

int d;
std::stringstream s;
s<<"123";
s>>d;

鏃㈢劧鏄嬌鐢ㄤ簡瀛楃嫻侊紝褰撶劧灝辨湁浜涢殢涔嬭屾潵鐨勯棶棰橈紝闇瑕佺壒鍒寚鍑?a >5銆?

  • 鐢變簬Visual C++ 6鐨勬湰鍦板寲錛坙ocale錛夐儴鍒嗗疄鐜版湁闂錛屽洜姝ゅ鏋滀嬌鐢ㄤ簡闈為粯璁ょ殑locale錛屽彲鑳戒細鑾悕鍏跺鍦版姏鍑哄紓甯搞傚綋鐒訛紝涓鑸儏鍐典笅鎴戜滑騫朵笉闇瑕佸幓鏀瑰彉榛樿鐨刲ocale錛屾墍浠ラ棶棰樹笉鏄緢澶с?
  • 杈撳叆鏁版嵁蹇呴』鈥滃畬鏁粹濆湴杞崲錛屽惁鍒欐姏鍑篵ad_lexical_cast寮傚父銆備緥濡?
int i = boost::lexical_cast<int>("123.123"); // this will throw 

渚夸細鎶涘嚭寮傚父銆傚洜涓衡?23.123鈥濆彧鑳解滈儴鍒嗏濆湴杞崲涓?23錛屼笉鑳解滃畬鏁粹濆湴杞崲涓?23.123銆?

  • 嫻偣鏁扮殑綺懼害闂銆?
std::string s = boost::lexical_cast<std::string>(123.1234567);

浠ヤ笂璇彞棰勬兂鐨勭粨鏋滄槸寰楀埌鈥?23.1234567鈥濓紝浣嗘槸瀹為檯涓婃垜浠彧浼氬緱鍒扳?23.123鈥濓紝鍥犱負榛樿鎯呭喌涓媠td::stringstream鐨勭簿搴︽槸6錛堣繖鏄疌璇█紼嬪簭搴撲腑鐨勨滃墠杈堚漰rintf鐣欎笅鐨勪紶緇燂級銆傝繖鍙互璇存槸boost::lexical_cast鐨勪竴涓猙ug銆傛庝箞鍔炲憿錛熸潈瀹滀箣璁★紝鍙互榪欎箞鍋氾細鎵撳紑澶存枃浠?lt;boost/lexical_cast.hpp>錛屾敞鎰忓鐓т慨鏀?a >6錛?

#include <boost/limits.hpp>
//...
template<typename Target, typename Source>
Target lexical_cast(Source arg) {
        //...
        Target result; 
        interpreter.precision(std::numeric_limits<Source>::digits10);
        if( !(interpreter << arg) ||
        !(interpreter >> result) ||
        !(interpreter >> std::ws).eof())
        //...
}

鍗沖彲寰楀埌姝g‘緇撴灉銆傚綋鐒訛紝鐞嗚涓婃晥鐜囦細鏈変竴鐐圭偣鎹熷け錛屼笉榪囧嚑涔庡彲浠ュ拷鐣ヤ笉璁°?

4 灝忕粨

鎴戜滑宸茬粡浣撻獙浜哹oost::lexcial_cast銆傚綋鐒訛紝lexical_cast涓嶄粎浠呭眬闄愪簬瀛楃涓茬被鍨嬩笌鏁板肩被鍨嬩箣闂寸殑杞崲錛氬彲鍦ㄤ換鎰忓彲杈撳嚭鍒皊tringstream鐨勭被鍨嬪拰浠繪剰鍙粠stringstream杈撳叆鐨勭被鍨嬮棿杞崲銆傝繖嬈$殑浜嗚В灝界寰堢矖鐣ワ紝涓嶈繃姣曠珶鎴戜滑宸茬粡鈥滆蛋榪汢oost鈥濓紝鑰屼笉浠呬粎鏄滆蛋榪戔濄備互鍚庯紝鎴戜滑鍙互鑷棰嗙暐Boost鐨勫姩浜轟箣澶勫暒銆?

鑲ヤ粩 2008-04-25 17:08 鍙戣〃璇勮
]]>
STLPort 5.1.5 緙栬瘧http://m.shnenglu.com/woaidongmao/archive/2008/04/25/48093.html鑲ヤ粩鑲ヤ粩Thu, 24 Apr 2008 16:56:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/04/25/48093.htmlhttp://m.shnenglu.com/woaidongmao/comments/48093.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/04/25/48093.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/48093.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/48093.html

STLPort 5.1.5 涓嬭澆

http://sourceforge.net/project/showfiles.php?group_id=146814

Bat鏂囦歡

 

cd c:\Program Files\Microsoft Visual Studio\VC98\bin
pause

call VCVARS32.BAT
pause

rem cd C:\STLport-5.1.5\STLport-5.1.5\build\Makefiles\nmake
cd C:\STLport-5.1.5\STLport-5.1.5\build\lib
pause
call configure --help
pause
call configure -c msvc6
pause
nmake /f msvc.mak
nmake /f msvc.mak install

rem nmake -f vc6.mak clean all
rem nmake -f vc6.mak install

pause
exit



鑲ヤ粩 2008-04-25 00:56 鍙戣〃璇勮
]]>
boost bathttp://m.shnenglu.com/woaidongmao/archive/2008/04/24/48049.html鑲ヤ粩鑲ヤ粩Thu, 24 Apr 2008 10:53:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/04/24/48049.htmlhttp://m.shnenglu.com/woaidongmao/comments/48049.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/04/24/48049.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/48049.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/48049.htmlSET INCLUDE=\"D:\\STLport-4.6.2\\stlport\";%INCLUDE%
SET LIB=\"D:\\STLport-4.6.2\\lib\";%LIB%
SET MSVC_ROOT="C:\Program Files\Microsoft Visual Studio\VC98"
SET VISUALC="C:\Program Files\Microsoft Visual Studio\VC98"
SET JAM_TOOLSET=VISUALC
SET PYTHON_ROOT=C:\Python22
SET PYTHON_VERSION=2.2
SET STLPORT_PATH=C:\STLport-4.6.2\lib
SET STLPORT_VERSION=4.6.2
rem pause
cd c:\Program Files\Microsoft Visual Studio\VC98\bin
pause
call VCVARS32.BAT
pause
cd C:\boost_1_33_1\libs\regex\build
pause
rem call nmake -f vc6-stlport.mak
pause
cd C:\boost_1_33_1
pause
rem bjam -sBOOST_ROOT=. -sTOOLS=msvc --with-thread stage
rem msvc-stlport-tools
bjam -sBOOST_ROOT=. -sTOOLS=msvc-stlport --with-thread stage
rem quit
exit

rem 鐗堟湰錛歜oost 1.33.1 STLport 5.0 / VS.net 2003 娌℃湁鐗規(guī)畩璁劇疆錛岄櫎浜嗙▼搴忕殑debug build搴斿姞_STLP_DEBUG瀹忓畾涔夈?br>rem boost build procedure:
SET INCLUDE=\"D:\\STLport_50\\stlport\";%INCLUDE%
SET LIB=\"D:\\STLport_50\\lib\";%LIB%

SET PYTHON_ROOT=\"D:\\Python24\"
SET PYTHON_VERSION=2.4.2
SET STLPORT_PATH=\"D:\\\"
SET STLPORT_50_PATH=\"D:\\STLport_50\"
SET STLPORT_VERSION=5.0
SET STLPORT_VERSIONS=5.0
SET VC71_ROOT=\"d:\\Program Files\\Microsoft Visual Studio .NET 2003\\Vc7\"

bjam.exe -sBOOST_ROOT=. -sTOOLS=vc-7_1 stage
bjam.exe -sBOOST_ROOT=. -sTOOLS=vc-7_1-stlport stage

濡傛灉涓嶇紪璇憄ython搴擄紝鏈鍚庝袱琛屾敼鎴?

bjam.exe -sBOOST_ROOT=. -sTOOLS=vc-7_1 --without-python stage
bjam.exe -sBOOST_ROOT=. -sTOOLS=vc-7_1-stlport --without-python stage

pause
cd c:\boost_1_33_1
pause
rem bjam -sBOOST_ROOT=. -sTOOLS=msvc "-sBUILD=debug release static/dynamic
pause
cd C:\Program Files\Tencent\TM
pause
start TMShell.exe
pause



鑲ヤ粩 2008-04-24 18:53 鍙戣〃璇勮
]]>
boost 緙栬瘧http://m.shnenglu.com/woaidongmao/archive/2008/04/19/47559.html鑲ヤ粩鑲ヤ粩Fri, 18 Apr 2008 17:55:00 GMThttp://m.shnenglu.com/woaidongmao/archive/2008/04/19/47559.htmlhttp://m.shnenglu.com/woaidongmao/comments/47559.htmlhttp://m.shnenglu.com/woaidongmao/archive/2008/04/19/47559.html#Feedback0http://m.shnenglu.com/woaidongmao/comments/commentRss/47559.htmlhttp://m.shnenglu.com/woaidongmao/services/trackbacks/47559.htmlBoost鍘嗗彶鐗堟湰涓嬭澆鍦板潃

http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041

 

bat鏂囦歡錛宐oost 1.33.1 Python 2.2.1,鍙兘闇瑕侀噸鏂板畨瑁卻tl port, stl port鐗堟湰鏈夐棶棰?nbsp;

::濡傛灉涓嶈緙栬瘧bjam.exe鐨勮瘽
rem GOTO install

cd C:\boost_1_33_1\tools\build\jam_src
pause
call build.bat
pause
copy C:\boost_1_33_1\tools\build\jam_src\bin.ntx86\bjam.exe C:\boost_1_33_1
pause

:install

rem SET INCLUDE=\"C:\\STLport-4.6.2\\stlport\";%INCLUDE%
rem SET LIB=\"C:\\STLport-4.6.2\\lib\";%LIB%
SET MSVC_ROOT="C:\Program Files\Microsoft Visual Studio\VC98"
SET VISUALC="C:\Program Files\Microsoft Visual Studio\VC98"
SET JAM_TOOLSET=VISUALC
SET PYTHON_ROOT=C:\Python22
SET PYTHON_VERSION=2.2
SET STLPORT_PATH=C:\STLport-4.6.2\lib
SET STLPORT_VERSION=4.6.2
cd c:\Program Files\Microsoft Visual Studio\VC98\bin
pause

call VCVARS32.BAT
pause

cd C:\boost_1_33_1
pause

::stage浠h〃 lib
::msvc-stlport鏄痬svc-stlport-tools.jam鏂囦歡錛屽彲浠ユ悳绱㈠緱鍒?br>::--with-thread鏄彧緙栬瘧thread搴擄紝--without-thread鍒欑浉鍙?br>::姣斿緙栬瘧thread 鐨刲ib搴撳涓嬭.
rem bjam -sBOOST_ROOT=. -sTOOLS=msvc --with-thread stage

::緙栬瘧鎵鏈?br>bjam -sBOOST_ROOT=. -sTOOLS=msvc-stlport install
bjam -sBOOST_ROOT=. -sTOOLS=msvc install

::緙栬瘧regex
rem bjam -sBOOST_ROOT=. -sTOOLS=msvc-stlport --with-regex install
rem bjam -sBOOST_ROOT=. -sTOOLS=msvc --with-regex install

::緙栬瘧thread
rem bjam -sBOOST_ROOT=. -sTOOLS=msvc-stlport --with-thread install
rem bjam -sBOOST_ROOT=. -sTOOLS=msvc --with-thread install

pause
exit

 

 

 

1銆佷笅杞絧ython-2.5.2.msi瀹夎鍒癈:\Python25

http://www.python.org/ftp/python/2.5.2/python-2.5.2.msi

2銆佷笅杞絙oost_1_35_0錛岃В鍘嬪埌C:\boost_1_35_0

http://sourceforge.net/project/downloading.php?group_id=7586&use_mirror=nchc&filename=boost_1_35_0.zip&48604828

3銆佹墽琛孋:\boost_1_35_0\tools\jam\build_dist.bat

4銆佺敓鎴愪簡bjam.exe鍦細C:\boost_1_35_0\tools\jam\src\bin.ntx86\bjam.exe

5銆佹嫹璐漛jam.exe鍒癈:\boost_1_35_0

6銆佹墦寮cmd錛屾墽琛岋細cd C:\boost_1_35_0

7銆佹墽琛宐jam --toolset=msvc -sPYTHON_ROOT="{C:\Python25}" install

bjam --toolset=msvc-6.0 stdlib=stlport -sPYTHON_ROOT="{C:\Python25}" install

絳夊緟鍗婁釜灝忔椂宸﹀彸

8銆佸皢C:\boost_1_35_0\libs鏂囦歡澶癸紙閲岄潰鏄簮浠g爜錛宭ib_source錛夛紝鎷瘋礉鍒癈:\Boost錛屽茍鏇存敼鍚嶄負boost_src,榪欐牱灝辨垚浜咰:\Boost\boost_src

9銆佹妸C:\Boost\include\boost-1_35_0\boost錛屽姞鍏ュ埌VC6鐨処nclude璺緞,hpp涔熸槸C++鐨勫ご鏂囦歡鍟婏紒Boost搴撳氨鏄敤鐨勮繖涓?

10銆佸皢C:\Boost\include\boost-1_35_0\boost鍜孋:\Boost\boost_src錛屽姞鍏ュ埌VC6鐨剆ource璺緞

11銆佹妸C:\Boost\lib錛屽姞鍏ュ埌VC6鐨凩IB璺緞

12銆丆:\boost_1_35_0榪欎釜鏂囦歡澶瑰彲浠ュ垹闄や簡錛屽鏋滀笉鎯沖垹闄わ紝閭d箞C:\boost_1_35_0\bin.v2榪欎釜鏄紪璇戞椂鍊欑殑obj絳夋枃浠訛紝鍙互鍒犻櫎鎺夈?

榪愯鍑虹幇鐨勯敊璇?

1銆侀瀹氫箟澶磋鍔犲叆錛?D_STLP_DEBUG,__STL_DEBUG

2銆乑M limit 閿欒錛氬伐紼?>璁劇疆->C/C++閫夐」鍗′笅闈㈡湁鈥滃伐紼嬮夐」鈥濈殑涓涓懡浠ゅ尯鍦ㄥ懡浠よ鐨勬湯灝懼姞涓?Zm1000錛屾敼涓?Zm2000涔熻錛屾槸鏁寸櫨鐨勯兘鍙互

3銆佲渃ompiler   is   out   of   heap   space鈥濓紝\ZM鏀規(guī)垚2000(鏈澶т簡)

4銆佲淔atal   Error   C1063鈥濓紝榪欎釜閿欒鏄紪璇戝櫒鏍堟孩鍑猴紝鍙兘鏄綘鐨勭▼搴忓崟涓簮鏂囦歡澶ぇ浜嗭紝鎷嗗垎鎴愬皬涓浜涚殑鏂囦歡璇曡瘯  
      MSDN涓婏細  
      Fatal   Error   C1063  
     compiler   limit   :   compiler   stack   overflow  
      The   program   was   too   complex,   possibly   due   to   recursive   include   files.   Split   the   code   into   smaller   source   files   and   recompile.

鎵嬪姩緙栬瘧boost::regex

1銆乧md;

2銆乧d C:\boost_1_35_0\libs\regex\build

3銆乿cvars32.bat

4銆丼ET STLPORT_PATH=C:\STLport\lib(濡傛灉闇瑕佷互STLPort緙栬瘧鐨勮瘽)

5銆乶make -f vc6-stlport.mak錛圫TLPort緙栬瘧錛夋垨鑰?nmake -f vc6.mak錛堟櫘閫氱紪璇戯級

鐢ㄦ潵嫻嬭瘯鐨勪唬鐮侊紝寤虹珛涓涓猈in32 Console Application錛?

#include "stdafx.h"
#include <iostream>
#include <boost/regex.hpp>
#include <boost/thread.hpp>
int main()

    // 3 digits, a word, any character, 2 digits or "N/A", 
    // a space, then the first word again
    boost::regex reg("\\d{3}([a-zA-Z]+).(\\d{2}|N/A)\\s\\1");   
    std::string correct="123Hello N/A Hello"; 
    std::string incorrect="123Hello 12 hello";   
    assert(boost::regex_match(correct,reg)==true); 
    assert(boost::regex_match(incorrect,reg)==false);
    boost::regex reg1("(new)|(delete)");
    boost::smatch m;std::string s=  "Calls to new must be followed by delete. \  Calling simply new results in a leak!";
    if (boost::regex_search(s,m,reg1))
    {  // Did new match? 
        if (m[1].matched)   
            std::cout << "The expression (new) matched!\n"; 
        if (m[2].matched)   
            std::cout << "The expression (delete) matched!\n";
    }
    return 0;
}

濡傛灉涓鍒囬『鍒╅氳繃錛屾伃鍠滀綘錛宐oost瀹夎鎴愬姛銆?

vc6 涓婂畨瑁卻tlport鍜宐oost搴?/a>

鐢ㄦ埛澶村儚

1
vc 6   sp5琛ヤ竵  棰勫鐞嗚ˉ涓?br>python2.2.3
stlport4.5.3
boost1.3.0.2
2
浣跨敤stlport鐨刬ostream錛宐oost.python緙栬瘧澶辮觸
濡傛灉紱佺敤stlportt鐨刬ostream錛宐oost.regex緙栬瘧澶辮觸
閫夋嫨boost1.3.0.2鐨勫師鍥?
浠?br>http://engineering.meta-comm.com/boost.aspx
寰楃煡Boost-wide regression reports
vc6鍩烘湰鏀寔boost1.3.0.2 鐨勫叏閮ㄥ簱
鑰宐oost浠ュ悗鐨勭増鏈紝vc6 鐨勮〃鐜板彲浠ヨ鏄儴涓嶅繊鐫廣?br>boost1.3.0.2鏀寔 python2.2 stlport 4.5.3
鍩烘湰灝辨槸榪欎釜鏍峰瓙浜嗐?/p>

鑲ヤ粩 2008-04-19 01:55 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产专区校园欧美| 国产精品性做久久久久久| 亚洲精美视频| 亚洲韩国青草视频| 亚洲美女黄网| 一本一本久久a久久精品牛牛影视| 亚洲国产精品传媒在线观看| 亚洲第一视频| 一区二区三区四区在线| 午夜视频在线观看一区| 老司机凹凸av亚洲导航| 欧美激情一区二区三区| 欧美午夜电影在线| 狠狠色丁香久久婷婷综合丁香| 亚洲国产成人久久| 亚洲一级黄色av| 久久精品一区二区三区不卡牛牛| 欧美成人免费网| av成人免费| 久久久久国产成人精品亚洲午夜| 欧美黑人在线观看| 国产老肥熟一区二区三区| 亚洲成色精品| 性8sex亚洲区入口| 亚洲国产精品一区二区三区| 一区二区三区久久| 乱中年女人伦av一区二区| 国产精品国产福利国产秒拍| 激情欧美一区二区| 亚洲欧美国产不卡| 亚洲黄色免费| 久久一区二区视频| 国产午夜亚洲精品理论片色戒| 一区二区av| 亚洲国产精品成人精品| 久久精品国产免费观看| 国产精品久久久久影院色老大| 亚洲人成精品久久久久| 久久精品论坛| 亚洲欧美欧美一区二区三区| 久久夜色精品国产欧美乱| 亚洲人成在线观看一区二区| 欧美亚洲专区| 宅男噜噜噜66一区二区| 欧美激情一区二区三区在线视频观看| 国内精品**久久毛片app| 在线亚洲欧美视频| 免费欧美日韩| 欧美一区二区三区在线视频 | 翔田千里一区二区| 欧美日韩免费一区| 亚洲麻豆视频| 欧美福利专区| 免费短视频成人日韩| 亚洲承认在线| 亚洲二区在线| 欧美精品激情blacked18| 亚洲精品黄色| 亚洲精品黄色| 欧美日韩高清在线观看| 一本久久综合| 在线视频精品| 国产亚洲午夜高清国产拍精品| 欧美在线精品一区| 久久精品1区| 亚洲高清一区二区三区| 欧美国产免费| 欧美国产日韩视频| 午夜一区不卡| 精品成人在线观看| 欧美刺激性大交免费视频| 美国成人直播| 一区二区三区精品在线| 亚洲久久在线| 亚洲视频专区在线| 国产午夜精品一区二区三区欧美| 久久久欧美精品sm网站| 久久一区中文字幕| aa级大片欧美| 午夜精品久久久久久久久久久久久 | 久久久精品性| 亚洲精品黄网在线观看| 日韩手机在线导航| 国产日韩欧美三级| 亚洲第一搞黄网站| 国产精品久久久久久久久免费樱桃| 午夜精品久久一牛影视| 久久精品一本| 亚洲视频一区在线观看| 欧美一区二区三区久久精品茉莉花| 尤妮丝一区二区裸体视频| 欧美亚洲视频| 国产专区综合网| 亚洲一区二区不卡免费| 国产欧美精品一区| 亚洲一区二区三区中文字幕在线 | 亚洲国产高清在线| 99在线观看免费视频精品观看| 国产农村妇女毛片精品久久莱园子| 久久在精品线影院精品国产| 欧美精品九九| 欧美精品1区| 欧美日韩一区三区| 国产亚洲精品久久久久久| 亚洲精品黄色| 欧美日韩精品高清| 欧美一区午夜视频在线观看| 欧美福利视频| 中文日韩在线| 亚洲精品在线观看视频| 亚洲成人在线网站| 国产欧美日韩在线播放| 亚洲一区二区免费视频| 欧美国产一区在线| 另类av一区二区| 久久综合久久综合九色| 国产一区再线| 欧美 日韩 国产 一区| 亚洲福利视频三区| 欧美日韩的一区二区| 亚洲国产日韩欧美在线99| 亚洲国产精品久久精品怡红院| 欧美精品色网| 亚洲精品一品区二品区三品区| 亚洲精品国产日韩| 久久久午夜精品| 亚洲视频久久| 亚洲国产精品激情在线观看| 亚洲国产日韩欧美综合久久| 亚洲精品久久在线| 欧美**人妖| 久久久免费精品视频| 亚洲日韩欧美视频一区| 一本不卡影院| 欧美日韩免费在线观看| 国产日韩欧美精品在线| 中日韩在线视频| 中文欧美日韩| 国产精品magnet| 亚洲每日更新| 亚洲综合色网站| 国产精品色婷婷| 亚洲欧美福利一区二区| 久久精品国产视频| 在线播放亚洲| 欧美aⅴ99久久黑人专区| 亚洲福利专区| 中文日韩在线| 国产性做久久久久久| 久久综合给合久久狠狠色| 亚洲国产高清自拍| 在线视频亚洲| 国产日韩欧美麻豆| 久久久91精品国产| 亚洲国产精品小视频| 亚洲一区精品电影| 国内精品国语自产拍在线观看| 久久综合色8888| 9久re热视频在线精品| 久久精品视频在线看| 亚洲国产一成人久久精品| 欧美日韩精品一区二区| 午夜精品一区二区三区四区 | 在线精品福利| 欧美日本不卡高清| 性色av一区二区三区红粉影视| 免费观看不卡av| 国产精品99久久久久久有的能看| 国产欧美日韩一区二区三区| 免费久久久一本精品久久区| 一区二区三区欧美成人| 你懂的网址国产 欧美| 亚洲欧美日韩一区二区三区在线观看 | 亚洲激情国产精品| 国产精品国产三级国产专播精品人 | 老司机免费视频一区二区| 亚洲精品中文字幕女同| 欧美影院午夜播放| 亚洲免费人成在线视频观看| 亚洲午夜性刺激影院| 欧美日韩中文字幕在线| 欧美淫片网站| 艳女tv在线观看国产一区| 久久这里有精品15一区二区三区| 日韩网站在线观看| 在线成人激情黄色| 国产欧美日韩免费| 欧美日韩一视频区二区| 噜噜噜在线观看免费视频日韩| 亚洲免费影视第一页| 亚洲伦理在线| 亚洲国产精品视频| 美女视频黄a大片欧美| 久久成人羞羞网站| 午夜视频一区在线观看| 亚洲一区二区欧美| 亚洲天堂av在线免费观看| 日韩香蕉视频| 日韩亚洲欧美成人| 亚洲精品久久嫩草网站秘色|