﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-蜂蜜</title><link>http://www.cppblog.com/inbeing/</link><description>酷造</description><language>zh-cn</language><lastBuildDate>Fri, 03 Apr 2026 21:03:40 GMT</lastBuildDate><pubDate>Fri, 03 Apr 2026 21:03:40 GMT</pubDate><ttl>60</ttl><item><title>条款2：尽量以CONST，ENUM，INLINE替换#DEFINE</title><link>http://www.cppblog.com/inbeing/archive/2009/12/21/103601.html</link><dc:creator>蜜蜂</dc:creator><author>蜜蜂</author><pubDate>Sun, 20 Dec 2009 16:18:00 GMT</pubDate><guid>http://www.cppblog.com/inbeing/archive/2009/12/21/103601.html</guid><wfw:comment>http://www.cppblog.com/inbeing/comments/103601.html</wfw:comment><comments>http://www.cppblog.com/inbeing/archive/2009/12/21/103601.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/inbeing/comments/commentRss/103601.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/inbeing/services/trackbacks/103601.html</trackback:ping><description><![CDATA[<span  style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; "><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">类中定义常量：static const int numturns = 5;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">这是声明式而非定义式。若不需取它们的地址，无须提供定义式。定义式如下：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">const int GamePlayer::NumTurns;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">一个class需要常量值，定义如下：</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">enum{NumTurns = 5};</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">int scores[NumTurns];</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">关于&#8220;形似函数的宏，最好改用inline函数替换#defines&#8221;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">但，经验证明。宏的速度要比用inline的方法快。</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">在一些对速度要求非常严格的项目中，这个方面还是要有所取舍的。</p></span>
<img src ="http://www.cppblog.com/inbeing/aggbug/103601.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/inbeing/" target="_blank">蜜蜂</a> 2009-12-21 00:18 <a href="http://www.cppblog.com/inbeing/archive/2009/12/21/103601.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>vector</title><link>http://www.cppblog.com/inbeing/archive/2009/12/21/103600.html</link><dc:creator>蜜蜂</dc:creator><author>蜜蜂</author><pubDate>Sun, 20 Dec 2009 16:14:00 GMT</pubDate><guid>http://www.cppblog.com/inbeing/archive/2009/12/21/103600.html</guid><wfw:comment>http://www.cppblog.com/inbeing/comments/103600.html</wfw:comment><comments>http://www.cppblog.com/inbeing/archive/2009/12/21/103600.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/inbeing/comments/commentRss/103600.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/inbeing/services/trackbacks/103600.html</trackback:ping><description><![CDATA[

<div style="background-color: rgb(238, 238, 238); font-size: 13px; border-left-color: rgb(204, 204, 204); padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000; ">#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">vector</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br>#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br>#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">algorithm</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br>#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">iterator</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br>#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">iostream.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;#include&nbsp;&lt;iostream&gt;</span><span style="color: #008000; "><br></span><span style="color: #000000; "><br></span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;GreaterThan&nbsp;{<br></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br>&nbsp;&nbsp;&nbsp;&nbsp;GreaterThan(&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;size&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">6</span><span style="color: #000000; ">&nbsp;)&nbsp;:&nbsp;_size(&nbsp;size&nbsp;){}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;size()&nbsp;{&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;_size;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">bool</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">()(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">&nbsp;s1)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;s1.size()&nbsp;</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">6</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br></span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">:<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;_size;<br>};<br><br>template&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Type</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br></span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;PrintElem&nbsp;{<br></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">()(&nbsp;</span><span style="color: #0000FF; ">const</span><span style="color: #000000; ">&nbsp;Type&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">elem&nbsp;)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">++</span><span style="color: #000000; ">_cnt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(&nbsp;_cnt&nbsp;</span><span style="color: #000000; ">%</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">8</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;)&nbsp;{&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;elem&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">:<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;_cnt;<br>};<br><br>template&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;Type&nbsp;</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;PrintElem</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">Type</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">::_cnt&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br><br></span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;LessThan&nbsp;{<br></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">:<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">bool</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">operator</span><span style="color: #000000; ">()(</span><span style="color: #0000FF; ">const</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">&nbsp;s1,&nbsp;</span><span style="color: #0000FF; ">const</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">&nbsp;s2&nbsp;)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;s1.size()&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;s2.size();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>};<br><br>typedef&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,&nbsp;allocator</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;textwords;<br><br></span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;process_vocab(&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">textwords,&nbsp;allocator</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">pvec&nbsp;)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(&nbsp;</span><span style="color: #000000; ">!</span><span style="color: #000000; ">&nbsp;pvec&nbsp;)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;issue&nbsp;warning&nbsp;message</span><span style="color: #008000; "><br></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,&nbsp;allocator&nbsp;</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;texts;&nbsp;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">textwords,&nbsp;allocator</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">::iterator&nbsp;iter&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;pvec</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">begin();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;(&nbsp;;&nbsp;iter&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;pvec</span><span style="color: #000000; ">-&gt;</span><span style="color: #000000; ">end();&nbsp;</span><span style="color: #000000; ">++</span><span style="color: #000000; ">iter&nbsp;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copy(&nbsp;(</span><span style="color: #000000; ">*</span><span style="color: #000000; ">iter).begin(),&nbsp;(</span><span style="color: #000000; ">*</span><span style="color: #000000; ">iter).end(),&nbsp;back_inserter(&nbsp;texts&nbsp;));<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;sort&nbsp;the&nbsp;elements&nbsp;of&nbsp;texts</span><span style="color: #008000; "><br></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;sort(&nbsp;texts.begin(),&nbsp;texts.end()&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;for_each(&nbsp;texts.begin(),&nbsp;texts.end(),&nbsp;PrintElem</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">()&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;delete&nbsp;all&nbsp;duplicate&nbsp;elements&nbsp;</span><span style="color: #008000; "><br></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,&nbsp;allocator</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">::iterator&nbsp;it;<br>&nbsp;&nbsp;&nbsp;&nbsp;it&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;unique(&nbsp;texts.begin(),&nbsp;texts.end()&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;texts.erase(&nbsp;it,&nbsp;texts.end()&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;for_each(&nbsp;texts.begin(),&nbsp;texts.end(),&nbsp;PrintElem</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">()&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;stable_sort(&nbsp;texts.begin(),&nbsp;texts.end(),&nbsp;LessThan()&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;for_each(&nbsp;texts.begin(),&nbsp;texts.end(),&nbsp;PrintElem</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">()&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;count&nbsp;number&nbsp;of&nbsp;strings&nbsp;greater&nbsp;than&nbsp;length&nbsp;6</span><span style="color: #008000; "><br></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;cnt&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;obsolete&nbsp;form&nbsp;of&nbsp;count&nbsp;--&nbsp;standard&nbsp;changes&nbsp;this</span><span style="color: #008000; "><br></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;count_if(&nbsp;texts.begin(),&nbsp;texts.end(),&nbsp;GreaterThan(),&nbsp;cnt&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Number&nbsp;of&nbsp;words&nbsp;greater&nbsp;than&nbsp;length&nbsp;six&nbsp;are&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; "><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;cnt&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;<img src="http://www.cppblog.com/Images/dot.gif"></span><span style="color: #008000; "><br></span><span style="color: #000000; "><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">&nbsp;rw[]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;{&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">and</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">if</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">or</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">but</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">the</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;};<br>&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,allocator</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;remove_words(&nbsp;rw,&nbsp;rw</span><span style="color: #000000; ">+</span><span style="color: #000000; ">5</span><span style="color: #000000; ">&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,&nbsp;allocator</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">::iterator&nbsp;it2&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;remove_words.begin();<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">&nbsp;(&nbsp;;&nbsp;it2&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;remove_words.end();&nbsp;</span><span style="color: #000000; ">++</span><span style="color: #000000; ">it2&nbsp;)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;cnt&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;obsolete&nbsp;form&nbsp;of&nbsp;count&nbsp;--&nbsp;standard&nbsp;changes&nbsp;this</span><span style="color: #008000; "><br></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count(&nbsp;texts.begin(),&nbsp;texts.end(),&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">it2,&nbsp;cnt&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;cnt&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;instances&nbsp;removed:&nbsp;&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">*</span><span style="color: #000000; ">it2)&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;texts.erase(<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remove(texts.begin(),texts.end(),</span><span style="color: #000000; ">*</span><span style="color: #000000; ">it2),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;texts.end()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;for_each(&nbsp;texts.begin(),&nbsp;texts.end(),&nbsp;PrintElem</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">()&nbsp;);<br>}<br><br>typedef&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,allocator</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">::difference_type&nbsp;diff_type;<br>#include&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">fstream.h</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; "><br><br>main()<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">textwords,&nbsp;allocator</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;sample;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="color: #000000; ">&lt;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,allocator</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t1,&nbsp;t2;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;t1fn,&nbsp;t2fn;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">text&nbsp;file&nbsp;#1:&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;&nbsp;cin&nbsp;</span><span style="color: #000000; ">&gt;&gt;</span><span style="color: #000000; ">&nbsp;t1fn;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="color: #000000; ">&lt;&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">text&nbsp;file&nbsp;#2:&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;&nbsp;cin&nbsp;</span><span style="color: #000000; ">&gt;&gt;</span><span style="color: #000000; ">&nbsp;t2fn;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ifstream&nbsp;infile1(&nbsp;t1fn.c_str());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ifstream&nbsp;infile2(&nbsp;t2fn.c_str());<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;istream_iterator</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,&nbsp;diff_type&nbsp;</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;input_set1(&nbsp;infile1&nbsp;),&nbsp;eos;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;istream_iterator</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">string</span><span style="color: #000000; ">,&nbsp;diff_type&nbsp;</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;input_set2(&nbsp;infile2&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copy(&nbsp;input_set1,&nbsp;eos,&nbsp;back_inserter(&nbsp;t1&nbsp;));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;copy(&nbsp;input_set2,&nbsp;eos,&nbsp;back_inserter(&nbsp;t2&nbsp;));<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sample.push_back(&nbsp;t1&nbsp;);&nbsp;sample.push_back(&nbsp;t2&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;process_vocab(&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">sample&nbsp;);<br>}<br></span></div><img src ="http://www.cppblog.com/inbeing/aggbug/103600.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/inbeing/" target="_blank">蜜蜂</a> 2009-12-21 00:14 <a href="http://www.cppblog.com/inbeing/archive/2009/12/21/103600.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>