﻿<?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++博客-Coffee in  Code out---编程的一种境界</title><link>http://www.cppblog.com/stonexin/</link><description /><language>zh-cn</language><lastBuildDate>Thu, 23 Apr 2026 10:09:40 GMT</lastBuildDate><pubDate>Thu, 23 Apr 2026 10:09:40 GMT</pubDate><ttl>60</ttl><item><title>博客搬家了，新的博客地址 www.k-door.com</title><link>http://www.cppblog.com/stonexin/archive/2014/07/05/207539.html</link><dc:creator>Stone xin</dc:creator><author>Stone xin</author><pubDate>Sat, 05 Jul 2014 10:22:00 GMT</pubDate><guid>http://www.cppblog.com/stonexin/archive/2014/07/05/207539.html</guid><wfw:comment>http://www.cppblog.com/stonexin/comments/207539.html</wfw:comment><comments>http://www.cppblog.com/stonexin/archive/2014/07/05/207539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/stonexin/comments/commentRss/207539.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/stonexin/services/trackbacks/207539.html</trackback:ping><description><![CDATA[<div><span style="font-family: Arial; font-size: 12pt;">新的博客地址 www.k-door.com</span></div><img src ="http://www.cppblog.com/stonexin/aggbug/207539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/stonexin/" target="_blank">Stone xin</a> 2014-07-05 18:22 <a href="http://www.cppblog.com/stonexin/archive/2014/07/05/207539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【原创】warning  no newline at end of file 的解决办法</title><link>http://www.cppblog.com/stonexin/archive/2013/06/27/201346.html</link><dc:creator>Stone xin</dc:creator><author>Stone xin</author><pubDate>Thu, 27 Jun 2013 05:44:00 GMT</pubDate><guid>http://www.cppblog.com/stonexin/archive/2013/06/27/201346.html</guid><wfw:comment>http://www.cppblog.com/stonexin/comments/201346.html</wfw:comment><comments>http://www.cppblog.com/stonexin/archive/2013/06/27/201346.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/stonexin/comments/commentRss/201346.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/stonexin/services/trackbacks/201346.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/stonexin/archive/2013/06/27/201346.html'>阅读全文</a><img src ="http://www.cppblog.com/stonexin/aggbug/201346.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/stonexin/" target="_blank">Stone xin</a> 2013-06-27 13:44 <a href="http://www.cppblog.com/stonexin/archive/2013/06/27/201346.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【原创】正确使用map的erase方法【修正版】</title><link>http://www.cppblog.com/stonexin/archive/2013/05/03/199928.html</link><dc:creator>Stone xin</dc:creator><author>Stone xin</author><pubDate>Fri, 03 May 2013 03:29:00 GMT</pubDate><guid>http://www.cppblog.com/stonexin/archive/2013/05/03/199928.html</guid><wfw:comment>http://www.cppblog.com/stonexin/comments/199928.html</wfw:comment><comments>http://www.cppblog.com/stonexin/archive/2013/05/03/199928.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/stonexin/comments/commentRss/199928.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/stonexin/services/trackbacks/199928.html</trackback:ping><description><![CDATA[在好多不负责任的博客中普及了一些错误的map删除元素的方法。<br />
现在给出纠正。<br />
<br />
首先，map的erase方法有三种形式<br /><br />
<table style="font-family: verdana, arial, helvetica, sans-serif; font-size: 12px; color: black; border-collapse: collapse; border-bottom-width: 0px; width: 722px; background-color: #fafffa;">
     <tbody>
         <tr style="border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: #f0f0f0;">
             <th style="text-align: right; font-weight: normal; font-style: italic; color: #a0d0a0;">(1)</th>
             <td style="padding-left: 12px; color: #008000;">
             <pre style="margin-top: 0px; margin-bottom: 0px;"> void erase (iterator position); </pre>
             </td>
         </tr>
         <tr style="border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: #f0f0f0; background-color: #f2fff2;">
             <th style="text-align: right; font-weight: normal; font-style: italic; color: #a0d0a0;">(2)</th>
             <td style="padding-left: 12px; color: #008000;">
             <pre style="margin-top: 0px; margin-bottom: 0px;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_type erase (const key_type&amp; k); </pre>
             </td>
         </tr>
         <tr style="border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: #f0f0f0;">
             <th style="text-align: right; font-weight: normal; font-style: italic; color: #a0d0a0;">(3)</th>
             <td style="padding-left: 12px; color: #008000;">
             <pre style="margin-top: 0px; margin-bottom: 0px;"> void erase (iterator first, iterator last);</pre>
             </td>
         </tr>
     </tbody>
</table>
<br />第3种没有什么歧义，不用细说了。<br />
最有歧义的就是第一种和第二种。<br />
<br />
有返回值的接口，是删除key为参数的。返回值是删除的数量。因为map中key不会重复，所以，如果key存在，则返回的是1，否则，返回是0；<br />
<br />
如果是调用的iter接口，则删除的是迭代器位置的元素。<br />
如果只删除一个元素，直接 map.erase(iter);就好了。<br />
如果用循环。<br />
while（iter！=map.end）<br />
{<br />
&nbsp; &nbsp; if(condition)<br />
&nbsp;&nbsp;&nbsp;{<br />
&nbsp; &nbsp; &nbsp; map.erase(iter++);<br />
&nbsp;&nbsp;&nbsp;}else{<br />
&nbsp; &nbsp; &nbsp; ++iter; &nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;}<br />
}<br />
官方手册地址：<br />
http://www.cplusplus.com/reference/map/map/erase/<img src ="http://www.cppblog.com/stonexin/aggbug/199928.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/stonexin/" target="_blank">Stone xin</a> 2013-05-03 11:29 <a href="http://www.cppblog.com/stonexin/archive/2013/05/03/199928.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源图形库 c语言-图形图像库 集合[转]</title><link>http://www.cppblog.com/stonexin/archive/2013/02/18/197909.html</link><dc:creator>Stone xin</dc:creator><author>Stone xin</author><pubDate>Mon, 18 Feb 2013 07:28:00 GMT</pubDate><guid>http://www.cppblog.com/stonexin/archive/2013/02/18/197909.html</guid><wfw:comment>http://www.cppblog.com/stonexin/comments/197909.html</wfw:comment><comments>http://www.cppblog.com/stonexin/archive/2013/02/18/197909.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/stonexin/comments/commentRss/197909.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/stonexin/services/trackbacks/197909.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Google三维API O3D　　O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序。这是一种基于网页的可控3D标准。此格式期望真正的基于浏览器，独立于操作系统之外，并且支持主流的3D显卡，这样就可以在网页中实现效果逼真的3D动画。在线演示：http://o3... 更多O3D信息&nbsp;　　最新新闻： 谷歌联手Mozilla基金开发3D互联网图像技术发...&nbsp;&nbsp;<a href='http://www.cppblog.com/stonexin/archive/2013/02/18/197909.html'>阅读全文</a><img src ="http://www.cppblog.com/stonexin/aggbug/197909.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/stonexin/" target="_blank">Stone xin</a> 2013-02-18 15:28 <a href="http://www.cppblog.com/stonexin/archive/2013/02/18/197909.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实现简单的POST数据【修正版】</title><link>http://www.cppblog.com/stonexin/archive/2012/12/12/196198.html</link><dc:creator>Stone xin</dc:creator><author>Stone xin</author><pubDate>Wed, 12 Dec 2012 09:46:00 GMT</pubDate><guid>http://www.cppblog.com/stonexin/archive/2012/12/12/196198.html</guid><wfw:comment>http://www.cppblog.com/stonexin/comments/196198.html</wfw:comment><comments>http://www.cppblog.com/stonexin/archive/2012/12/12/196198.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/stonexin/comments/commentRss/196198.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/stonexin/services/trackbacks/196198.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 实现简单的POST数据【修正版】&nbsp;&nbsp;<a href='http://www.cppblog.com/stonexin/archive/2012/12/12/196198.html'>阅读全文</a><img src ="http://www.cppblog.com/stonexin/aggbug/196198.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/stonexin/" target="_blank">Stone xin</a> 2012-12-12 17:46 <a href="http://www.cppblog.com/stonexin/archive/2012/12/12/196198.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Chrome所涉及26个开源代码</title><link>http://www.cppblog.com/stonexin/archive/2012/11/20/195435.html</link><dc:creator>Stone xin</dc:creator><author>Stone xin</author><pubDate>Tue, 20 Nov 2012 13:48:00 GMT</pubDate><guid>http://www.cppblog.com/stonexin/archive/2012/11/20/195435.html</guid><wfw:comment>http://www.cppblog.com/stonexin/comments/195435.html</wfw:comment><comments>http://www.cppblog.com/stonexin/archive/2012/11/20/195435.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/stonexin/comments/commentRss/195435.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/stonexin/services/trackbacks/195435.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Chrome所涉及26个开源代码&nbsp;&nbsp;<a href='http://www.cppblog.com/stonexin/archive/2012/11/20/195435.html'>阅读全文</a><img src ="http://www.cppblog.com/stonexin/aggbug/195435.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/stonexin/" target="_blank">Stone xin</a> 2012-11-20 21:48 <a href="http://www.cppblog.com/stonexin/archive/2012/11/20/195435.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]windows路径操作API函数</title><link>http://www.cppblog.com/stonexin/archive/2012/09/01/189018.html</link><dc:creator>Stone xin</dc:creator><author>Stone xin</author><pubDate>Sat, 01 Sep 2012 06:56:00 GMT</pubDate><guid>http://www.cppblog.com/stonexin/archive/2012/09/01/189018.html</guid><wfw:comment>http://www.cppblog.com/stonexin/comments/189018.html</wfw:comment><comments>http://www.cppblog.com/stonexin/archive/2012/09/01/189018.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/stonexin/comments/commentRss/189018.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/stonexin/services/trackbacks/189018.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: windows路径操作API函数&nbsp;&nbsp;<a href='http://www.cppblog.com/stonexin/archive/2012/09/01/189018.html'>阅读全文</a><img src ="http://www.cppblog.com/stonexin/aggbug/189018.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/stonexin/" target="_blank">Stone xin</a> 2012-09-01 14:56 <a href="http://www.cppblog.com/stonexin/archive/2012/09/01/189018.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows程序增加控制台</title><link>http://www.cppblog.com/stonexin/archive/2012/05/17/175222.html</link><dc:creator>Stone xin</dc:creator><author>Stone xin</author><pubDate>Thu, 17 May 2012 08:58:00 GMT</pubDate><guid>http://www.cppblog.com/stonexin/archive/2012/05/17/175222.html</guid><wfw:comment>http://www.cppblog.com/stonexin/comments/175222.html</wfw:comment><comments>http://www.cppblog.com/stonexin/archive/2012/05/17/175222.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/stonexin/comments/commentRss/175222.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/stonexin/services/trackbacks/175222.html</trackback:ping><description><![CDATA[<div style="font-size: 13px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: #cccccc; border-right-color: #cccccc; border-bottom-color: #cccccc; border-left-color: #cccccc; border-image: initial; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; background-color: #eeeeee; ">#include&nbsp;"StdAfx.h"<br />
#include&nbsp;"Console4GUI.h"<br />
<br />
<br />
Console4GUI::Console4GUI(<span style="color: #0000FF; ">void</span>)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;AllocConsole();&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;Create&nbsp;a&nbsp;new&nbsp;console&nbsp;window&nbsp;</span><span style="color: #008000; "><br />
</span><br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;hCrun;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;hCrun&nbsp;=&nbsp;_open_osfhandle((<span style="color: #0000FF; ">long</span>)GetStdHandle(STD_OUTPUT_HANDLE),_O_TEXT);<br />
&nbsp;&nbsp;&nbsp;&nbsp;FILE&nbsp;&nbsp;&nbsp;&nbsp;*file&nbsp;&nbsp;=&nbsp;_fdopen(hCrun,&nbsp;"w");<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;use&nbsp;default&nbsp;stream&nbsp;buffer</span><span style="color: #008000; "><br />
</span>&nbsp;&nbsp;&nbsp;&nbsp;setvbuf(file,&nbsp;NULL,&nbsp;_IONBF,&nbsp;0);<br />
&nbsp;&nbsp;&nbsp;&nbsp;*stdout&nbsp;=&nbsp;*file;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;std::cout&lt;&lt;"控制台启动"&lt;&lt;std::endl;<br />
}<br />
<br />
Console4GUI::~Console4GUI(<span style="color: #0000FF; ">void</span>)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;FreeConsole();&nbsp;&nbsp;<span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;Close&nbsp;the&nbsp;console&nbsp;window&nbsp;&nbsp;</span><span style="color: #008000; "><br />
</span>}</div>
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br />
CPP文件
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->#pragma&nbsp;once<br />
#include&nbsp;&lt;fcntl.h&gt;<br />
#include&nbsp;&lt;io.h&gt;<br />
#include&nbsp;&lt;iostream&gt;<br />
<span style="color: #0000FF; ">class</span>&nbsp;Console4GUI<br />
{<br />
<span style="color: #0000FF; ">public</span>:<br />
&nbsp;&nbsp;&nbsp;&nbsp;Console4GUI(<span style="color: #0000FF; ">void</span>);<br />
&nbsp;&nbsp;&nbsp;&nbsp;~Console4GUI(<span style="color: #0000FF; ">void</span>);<br />
};</div><img src ="http://www.cppblog.com/stonexin/aggbug/175222.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/stonexin/" target="_blank">Stone xin</a> 2012-05-17 16:58 <a href="http://www.cppblog.com/stonexin/archive/2012/05/17/175222.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不定长参数格式化输出(支持中文字符)</title><link>http://www.cppblog.com/stonexin/archive/2012/05/17/175221.html</link><dc:creator>Stone xin</dc:creator><author>Stone xin</author><pubDate>Thu, 17 May 2012 08:52:00 GMT</pubDate><guid>http://www.cppblog.com/stonexin/archive/2012/05/17/175221.html</guid><wfw:comment>http://www.cppblog.com/stonexin/comments/175221.html</wfw:comment><comments>http://www.cppblog.com/stonexin/archive/2012/05/17/175221.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/stonexin/comments/commentRss/175221.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/stonexin/services/trackbacks/175221.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;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 />
-->#include&nbsp;&lt;iostream&gt;<br />
#include&nbsp;&lt;<span style="color: #0000FF; ">string</span>&gt;<br />
<span style="color: #0000FF; ">void</span>&nbsp;myformat(<span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">char</span>&nbsp;*fmt,&nbsp;<img src="http://www.cppblog.com/Images/dot.gif" alt="" />)<br />
{<br />
va_list&nbsp;ap;<br />
va_start(ap,&nbsp;fmt);<br />
wchar_t&nbsp;buf[2048];<br />
vswprintf(buf,fmt,ap);<br />
va_end(ap);<br />
std::wcout.imbue(std::locale("chs"));<br />
std::wcout&lt;&lt;buf&lt;&lt;std::endl;<br />
}</div>
如果要返回值：
<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;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 />
-->#include&nbsp;&lt;iostream&gt;<br />
#include&nbsp;&lt;<span style="color: #0000FF; ">string</span>&gt;<br />
<span style="color: #0000FF; ">std::wstring</span>&nbsp;myformat(<span style="color: #0000FF; ">const</span>&nbsp;<span style="color: #0000FF; ">char</span>&nbsp;*fmt,&nbsp;<img src="http://www.cppblog.com/Images/dot.gif" alt="" />)<br />
{<br />
va_list&nbsp;ap;<br />
va_start(ap,&nbsp;fmt);<br />
wchar_t&nbsp;buf[2048];<br />
vswprintf(buf,fmt,ap);<br />
va_end(ap);<br />
std::wstring str = std::wstring(buf);<br />
return str;<br />
}</div><img src ="http://www.cppblog.com/stonexin/aggbug/175221.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/stonexin/" target="_blank">Stone xin</a> 2012-05-17 16:52 <a href="http://www.cppblog.com/stonexin/archive/2012/05/17/175221.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Boost异步IO</title><link>http://www.cppblog.com/stonexin/archive/2012/04/09/170640.html</link><dc:creator>Stone xin</dc:creator><author>Stone xin</author><pubDate>Mon, 09 Apr 2012 09:59:00 GMT</pubDate><guid>http://www.cppblog.com/stonexin/archive/2012/04/09/170640.html</guid><wfw:comment>http://www.cppblog.com/stonexin/comments/170640.html</wfw:comment><comments>http://www.cppblog.com/stonexin/archive/2012/04/09/170640.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/stonexin/comments/commentRss/170640.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/stonexin/services/trackbacks/170640.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Boost异步IO&nbsp;&nbsp;<a href='http://www.cppblog.com/stonexin/archive/2012/04/09/170640.html'>阅读全文</a><img src ="http://www.cppblog.com/stonexin/aggbug/170640.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/stonexin/" target="_blank">Stone xin</a> 2012-04-09 17:59 <a href="http://www.cppblog.com/stonexin/archive/2012/04/09/170640.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>