﻿<?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++博客-Design&amp;Art-随笔分类-STL</title><link>http://www.cppblog.com/abware/category/4048.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 05 Mar 2009 09:38:18 GMT</lastBuildDate><pubDate>Thu, 05 Mar 2009 09:38:18 GMT</pubDate><ttl>60</ttl><item><title>VC6调试时，如何查看vector中的内容？</title><link>http://www.cppblog.com/abware/archive/2009/03/04/75506.html</link><dc:creator>安帛伟</dc:creator><author>安帛伟</author><pubDate>Wed, 04 Mar 2009 06:42:00 GMT</pubDate><guid>http://www.cppblog.com/abware/archive/2009/03/04/75506.html</guid><wfw:comment>http://www.cppblog.com/abware/comments/75506.html</wfw:comment><comments>http://www.cppblog.com/abware/archive/2009/03/04/75506.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/abware/comments/commentRss/75506.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/abware/services/trackbacks/75506.html</trackback:ping><description><![CDATA[<p>在VC6中，如何查看以下代码中vec里的内容？</p>
<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"><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;vec;<br>&nbsp;&nbsp;&nbsp;&nbsp;vec.push_back(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br>&nbsp;&nbsp;&nbsp;&nbsp;vec.push_back(</span><span style="COLOR: #000000">14</span><span style="COLOR: #000000">);<br></span></div>
如果在Watch窗口中直接输入vec，则会出现如下内容：<br><img height=205 alt="" src="http://www.cppblog.com/images/cppblog_com/abware/vec.jpg" width=426 border=0><br>众所周知，vector使用的是线性连续存储空间，上图中的_First和_Last分别指向配置得来的连续空间中目前已被使用的范围，而_End指向整块连续空间的尾端。<br>因此，我们可以用如下方式来查看vector里的内容：<br>vec._First[0]<br>vec._First[1]<br><img height=205 alt="" src="http://www.cppblog.com/images/cppblog_com/abware/vecWatch.jpg" width=426 border=0><br><br>同理，对于嵌套的vector(如下代码中的vv)<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://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;vec;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;vec.push_back(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;vec.push_back(</span><span style="COLOR: #000000">14</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;vector</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;vector</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;vv;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;vv.push_back(vec);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;vec.push_back(</span><span style="COLOR: #000000">15</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;vv.push_back(vec);</span></div>
我们可以这样查看：<br>vv._First[1]._First[2]<br><img height=205 alt="" src="http://www.cppblog.com/images/cppblog_com/abware/vvWatch.jpg" width=426 border=0>
<img src ="http://www.cppblog.com/abware/aggbug/75506.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/abware/" target="_blank">安帛伟</a> 2009-03-04 14:42 <a href="http://www.cppblog.com/abware/archive/2009/03/04/75506.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>正确使用stl map的erase方法</title><link>http://www.cppblog.com/abware/archive/2009/01/22/72459.html</link><dc:creator>安帛伟</dc:creator><author>安帛伟</author><pubDate>Thu, 22 Jan 2009 05:33:00 GMT</pubDate><guid>http://www.cppblog.com/abware/archive/2009/01/22/72459.html</guid><wfw:comment>http://www.cppblog.com/abware/comments/72459.html</wfw:comment><comments>http://www.cppblog.com/abware/archive/2009/01/22/72459.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/abware/comments/commentRss/72459.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/abware/services/trackbacks/72459.html</trackback:ping><description><![CDATA[<p>STL的map表里有一个erase方法用来从一个map中删除掉指令的节点<br>eg:</p>
<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"><span style="COLOR: #000000">map</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;mapTest;<br>typedef&nbsp;map</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">,</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">::iterator&nbsp;ITER;<br><br>ITER&nbsp;iter</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">mapTest.find(key);<br>mapTest.erase(iter);<br></span></div>
<p>&nbsp;像上面这样只是删除单个节点,map的形为不会出现任务问题,<br>但是当在一个循环里用的时候,往往会被误用,那是因为使用者没有正确理解iterator的概念.<br>像下面这样的一个例子就是错误的写法,<br>eg:</p>
<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"><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(ITER&nbsp;iter</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">mapTest.begin();iter</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">mapTest.end();</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">iter)<br>{<br>cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">iter</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">first</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">iter</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">second</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br>mapTest.erase(iter);<br>}<br></span></div>
<p>这是一种错误的写法,会导致程序行为不可知.究其原因是map 是关联容器,对于关联容器来说，如果某一个元素已经被删除，那么其对应的迭代器就失效了，不应该再被使用；否则会导致程序无定义的行为。<br>可以用以下方法解决这问题:<br>正确的写法<br>1.使用删除之前的迭代器定位下一个元素。STL建议的使用方式<br></p>
<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"><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(ITER&nbsp;iter</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">mapTest.begin();iter</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">mapTest.end();)<br>{<br>cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">iter</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">first</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">iter</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">second</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br>mapTest.erase(iter</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">);<br>}<br></span></div>
<p>2. erase() 成员函数返回下一个元素的迭代器</p>
<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"><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(ITER&nbsp;iter</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">mapTest.begin();iter</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">mapTest.end();)<br>{<br>cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">iter</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">first</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">iter</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">second</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br>iter</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">mapTest.erase(iter);<br>}</span></div>
<img src ="http://www.cppblog.com/abware/aggbug/72459.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/abware/" target="_blank">安帛伟</a> 2009-01-22 13:33 <a href="http://www.cppblog.com/abware/archive/2009/01/22/72459.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>STL源码剖析中第三章Iterator中单向链表的例子</title><link>http://www.cppblog.com/abware/archive/2007/04/16/22043.html</link><dc:creator>安帛伟</dc:creator><author>安帛伟</author><pubDate>Mon, 16 Apr 2007 11:54:00 GMT</pubDate><guid>http://www.cppblog.com/abware/archive/2007/04/16/22043.html</guid><wfw:comment>http://www.cppblog.com/abware/comments/22043.html</wfw:comment><comments>http://www.cppblog.com/abware/archive/2007/04/16/22043.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/abware/comments/commentRss/22043.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/abware/services/trackbacks/22043.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 书上已经讲得很清楚了，这里给出一个编译通过的例子。&nbsp;3mylist.h//&nbsp;file:&nbsp;3mylist.h#include&nbsp;&lt;iostream&gt;template&nbsp;&lt;typename&nbsp;T&gt;class&nbsp;ListItem{public:&nbsp;&nbsp;&nbsp;&nbsp;ListItem(T&n...&nbsp;&nbsp;<a href='http://www.cppblog.com/abware/archive/2007/04/16/22043.html'>阅读全文</a><img src ="http://www.cppblog.com/abware/aggbug/22043.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/abware/" target="_blank">安帛伟</a> 2007-04-16 19:54 <a href="http://www.cppblog.com/abware/archive/2007/04/16/22043.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VC6下使用STLPort</title><link>http://www.cppblog.com/abware/archive/2007/04/16/22019.html</link><dc:creator>安帛伟</dc:creator><author>安帛伟</author><pubDate>Mon, 16 Apr 2007 06:22:00 GMT</pubDate><guid>http://www.cppblog.com/abware/archive/2007/04/16/22019.html</guid><wfw:comment>http://www.cppblog.com/abware/comments/22019.html</wfw:comment><comments>http://www.cppblog.com/abware/archive/2007/04/16/22019.html#Feedback</comments><slash:comments>21</slash:comments><wfw:commentRss>http://www.cppblog.com/abware/comments/commentRss/22019.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/abware/services/trackbacks/22019.html</trackback:ping><description><![CDATA[为了使用hash_map，今天下载了STLport，在VC6下编译成功。<br><br>1. STLport下载：<a href="http://www.stlport.org/">http://www.stlport.org/</a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我下载的是最新版<span class=body>&nbsp; 02.25.07: STLport 5.1.2 released <br><br>2. STLport编译：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我的STLport目录是：D:\STLport-5.1.2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;先设置一下VC6下的环境变量：C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;把D:\STLport-5.1.2\stlport;加入Include路径中；把D:\STLport-5.1.2\lib;加入Lib路径中<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在命令行窗口下：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;运行VCVARS32.BAT，然后<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cd D:\STLport-5.1.2\build\lib<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;configure -c msvc6<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nmake /fmsvc.mak install<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;编译全部用的默认选项，因此编译出来的是多线程静态链接库。库文件被拷贝到D:\STLport-5.1.2\lib<br><br>3. 在VC6中使用STLport：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tools-&gt;Options...-&gt;Directories中<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include设置中添加目录：D:\STLport-5.1.2\stlport<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;library设置中添加目录：D:\STLport-5.1.2\lib<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Project-&gt;Settings...-&gt;C/C++中<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Category选择Code Generation，然后在use run-time library中选择Debug Multithreaded。（如果是release版本，选择Multithreaded；如果想用动态链接，则要先编译动态链接版本的STLport，再在这儿选择相应的DLL）<br><br>4. hash_map的例子：<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://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">hash_map</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#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><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br><img id=Codehighlighter1_92_334_Open_Image onclick="this.style.display='none'; Codehighlighter1_92_334_Open_Text.style.display='none'; Codehighlighter1_92_334_Closed_Image.style.display='inline'; Codehighlighter1_92_334_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_92_334_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_92_334_Closed_Text.style.display='none'; Codehighlighter1_92_334_Open_Image.style.display='inline'; Codehighlighter1_92_334_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_92_334_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://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_92_334_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;hash_map</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;mymap;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;mymap[</span><span style="COLOR: #000000">2008</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">VC6</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;mymap[</span><span style="COLOR: #000000">999999</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">STLport</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;mymap[</span><span style="COLOR: #000000">123456</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">hello&nbsp;hash_map!</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;hash_map</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #0000ff">string</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;mymap.find(</span><span style="COLOR: #000000">123456</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(iter&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;mymap.end())<br><img id=Codehighlighter1_290_321_Open_Image onclick="this.style.display='none'; Codehighlighter1_290_321_Open_Text.style.display='none'; Codehighlighter1_290_321_Closed_Image.style.display='inline'; Codehighlighter1_290_321_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_290_321_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_290_321_Closed_Text.style.display='none'; Codehighlighter1_290_321_Open_Image.style.display='inline'; Codehighlighter1_290_321_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_290_321_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://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_290_321_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">iter</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">second</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
</span>
<img src ="http://www.cppblog.com/abware/aggbug/22019.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/abware/" target="_blank">安帛伟</a> 2007-04-16 14:22 <a href="http://www.cppblog.com/abware/archive/2007/04/16/22019.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>