<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++的罗浮宫 - C++</title><link>http://blog.csdn.net/pongba/category/38164.aspx</link><description>All about C++</description><dc:language>zh-CN</dc:language><lastUpdateTime>Fri, 18 Apr 2008 19:13:00 GMT</lastUpdateTime><ttl>60</ttl><item><dc:creator>刘未鹏</dc:creator><title>C++之父元旦专访（8+13个问题，关于C++的学习&amp;使用和未来）</title><link>http://blog.csdn.net/pongba/archive/2008/01/10/2034207.aspx</link><pubDate>Thu, 10 Jan 2008 17:57:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2008/01/10/2034207.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/2034207.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2008/01/10/2034207.aspx#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/2034207.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2034207</trackback:ping><description>C++之父元旦专访（8+13个问题，关于C++的学习&amp;amp;amp;使用和未来） &amp;amp;nbsp; By TopLanguage (http://groups.google.com/group/pongba) 刘未鹏|C++的罗浮宫 (http://blog.csdn.net/pongba) &amp;amp;nbsp; 临近元旦的一个月，Bjarne在通信中答应接受一次访谈。高兴之余，为访谈的问题犯了难，我不想做成一个个人的访谈；我希望这次访谈能够代表更多的人，最好能够代表国内C++社群的一些典型的声音，同时我也希望问题是经过深思熟虑的，由真正了解C++的人提出。 所以，当时我便在blog里面放了一个问题召集的声明，并在TopLanguage讨论组上置顶了一个帖子。向大伙征集好问题。一个月后我们有了一个问题集，我又邀请云风和孟岩各提了一个问题。 经过整理，一共有8+13个问题。前8个问题是关于C++的学习和使用。后13个问题是关于C++的未来。Bjarne在收到问题集之后称赞问题很好，并很快作了回答:-) 我相信这是一次非常特别的访谈，因为两个原因：1. 并非代表我一个人的观点，而是来&lt;img src ="http://blog.csdn.net/pongba/aggbug/2034207.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>学习C++：实践者的方法（Beta1）</title><link>http://blog.csdn.net/pongba/archive/2007/12/11/1930150.aspx</link><pubDate>Tue, 11 Dec 2007 12:11:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/12/11/1930150.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1930150.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/12/11/1930150.aspx#Feedback</comments><slash:comments>38</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1930150.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1930150</trackback:ping><description>学习C++：实践者的方法（Beta1）  By 刘未鹏(pongba)  C++的罗浮宫(http://blog.csdn.net/pongba)   前言  我的blog以前很长一段时间关注的都是C++中的技术与细节，乃至于读者和应者都寥寥。然而5月份的时候写的一篇“你应当如何学习C++”，阅读量却达到了3万多，在blog上所有文章中却是最高的（且远远超过了第二位）；评论数目也有一百多。为什么独独这篇能够激起这么多的回应，想必是国内的C++社群被C++压抑太久，或者，严格来说，是被C++的教育方式压抑太久。实际上，不管是在各大国内论坛上，还是在comp.lang.c++.moderated这样的国际C++论坛上，乃至于在douban上的小组内，有心者都会发现，对C++语言的细节的关注一直都没有停止过，同样，对C++语言的细节的抱怨也从来都没有停止过。一个例子就是comp.lang.c++.moderated上的一个技术牛人James Kanze说的，他说接触C++十年了，到现在还需要不时去翻C++标准&lt;img src ="http://blog.csdn.net/pongba/aggbug/1930150.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>为什么C++（来自C++之父的观点）</title><link>http://blog.csdn.net/pongba/archive/2007/12/04/1916385.aspx</link><pubDate>Tue, 04 Dec 2007 15:50:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/12/04/1916385.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1916385.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/12/04/1916385.aspx#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1916385.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1916385</trackback:ping><description>9月份的时候写了一篇“Why C++”。后来我把文章发给Bjarne，问问他的意见。Bjarne友好的对文章作了详细的评点并发回给我，我问他能不能把他的评点版发到blog上，他说原先发给我的评点比较随意，答应给我单独写一篇友情评注，也就是下面这篇。&lt;img src ="http://blog.csdn.net/pongba/aggbug/1916385.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>错误处理(Error-Handling)：为何、何时、如何(rev#2)</title><link>http://blog.csdn.net/pongba/archive/2007/10/08/1815742.aspx</link><pubDate>Mon, 08 Oct 2007 18:27:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/10/08/1815742.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1815742.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/10/08/1815742.aspx#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1815742.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1815742</trackback:ping><description>错误处理（Error-Handling）这个重要议题从1997年（也许更早）到2004年左右一直是一个被广泛争论的话题，曾在新闻组上、博客上、论坛上引发口水无数（不亚于语言之争），Bjarne Stroustrup、James Gosling、Anders Hejlsberg、Bruce Eckel、Joel Spolsky、Herb Sutter、Andrei Alexandrescu、Brad Abrams、Raymond Chen、David Abrahams…，各路神仙纷纷出动，好不热闹:-)如今争论虽然已经基本结束并结果；只不过结论散落在大量文献当中，且新旧文献陈杂，如果随便翻看其中的几篇乃至几十篇的话都难免管中窥豹。就连Gosling本人写的《The Java Programming Language》中也语焉不详。所以，写这篇文章的目的便是要对这个问题提供一个整体视图，相信我，这是个有趣的话题:-)&lt;img src ="http://blog.csdn.net/pongba/aggbug/1815742.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>为什么C++（中文版——感谢waterwalk翻译）</title><link>http://blog.csdn.net/pongba/archive/2007/09/14/1785372.aspx</link><pubDate>Fri, 14 Sep 2007 16:52:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/09/14/1785372.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1785372.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/09/14/1785372.aspx#Feedback</comments><slash:comments>32</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1785372.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1785372</trackback:ping><description>首先非常感谢waterwalk的辛勤翻译:-) waterwalk把翻译回贴在原文的下面了，为了方便阅读我提取出来编辑以后重发一个帖子。这篇文章原本是想对最近C/C++争论系统的整理一下一些思考的，但由于一开始的时候用英文写了两段，后来就干脆都用英文了，造成很多人阅读的麻烦，在此抱歉。不过好在waterwalk翻译了整篇文章，于是单独贴在这里:-)&lt;img src ="http://blog.csdn.net/pongba/aggbug/1785372.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>为什么C++</title><link>http://blog.csdn.net/pongba/archive/2007/09/11/1780545.aspx</link><pubDate>Tue, 11 Sep 2007 14:19:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/09/11/1780545.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1780545.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/09/11/1780545.aspx#Feedback</comments><slash:comments>28</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1780545.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1780545</trackback:ping><description>使用C++的理由和不使用C++的理由；为什么人们不使用C++；如何以正确的态度使用C++；如何判断你是否应该使用C++；etc. 内有英文慎入！&lt;img src ="http://blog.csdn.net/pongba/aggbug/1780545.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>《C++0x漫谈》系列之：瘦身前后——兼谈语言进化</title><link>http://blog.csdn.net/pongba/archive/2007/09/10/1778748.aspx</link><pubDate>Mon, 10 Sep 2007 10:24:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/09/10/1778748.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1778748.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/09/10/1778748.aspx#Feedback</comments><slash:comments>70</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1778748.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1778748</trackback:ping><description>一门语言应该是“Make simple things simple, make complex things possible”的。当我们用语言来表达思想的时候，这门语言应该能够提供这样的能力：即让我们能够最直接地表达我们的意思，多一分则太多，少一分则太少，好比古人形容美女：增一分则太肥，减一分则太瘦。&lt;img src ="http://blog.csdn.net/pongba/aggbug/1778748.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>《C++0x漫谈》系列之：Auto的故事</title><link>http://blog.csdn.net/pongba/archive/2007/09/07/1776255.aspx</link><pubDate>Fri, 07 Sep 2007 15:20:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/09/07/1776255.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1776255.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/09/07/1776255.aspx#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1776255.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1776255</trackback:ping><description>上次说到，这次要说的是auto。此auto非彼auto，大家知道C++中原本是有一个auto关键字的，此关键字的作用是声明具有automatic（自动）存储期的局部变量，但跟register关键字一样，它也是个被打入了冷宫的关键字，因为C++里面的（非静态）局部变量本身就是auto的，无需多用一个auto来声明。然而，阴差阳错的，auto在C++09中获得了新生。&lt;img src ="http://blog.csdn.net/pongba/aggbug/1776255.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>争论C++前你应当知道什么(rev#1)</title><link>http://blog.csdn.net/pongba/archive/2007/08/08/1732055.aspx</link><pubDate>Wed, 08 Aug 2007 18:32:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/08/08/1732055.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1732055.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/08/08/1732055.aspx#Feedback</comments><slash:comments>56</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1732055.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1732055</trackback:ping><description>最近写了一篇关于C++0x Concepts的文章，意料之外地引起了一场小规模口水仗。回各位帖子的同时，回想这些年C++社群的大小争论，觉得有必要把一些长久以来在C++争论中出现的误解列举出来。哈雷将军的笑话想必大家都听过。一句话经口口相传，每个人都根据自己的主观意念加以润色，修补，歪曲… 到最后就面目全非。这里最关键的一环就是主观意识，在历史学里面有这么一句话，大致意思是历史其实只存在于人的意念之中；就算完全客观的事件，通过不同的人的嘴说出来，造成的心理效应也往往不一样，每个人都会加上那么一两个形容词，驾驭语言能力高的更是能够舌绽莲花，而语言本就有自身的力量，其中的遣词造句对读者构成的心理影响力便应运而生。甚至于同一句话，用不同的语气说出来，都会造成不同的效果。同一句话，站在不同的立场上看，也会根本不是同一个意思。比如“C++还算是门不错的语言”，站在C++拥护者的角度听是在怜悯加诋毁C++，而站在C++反对者的角度听却是抬举了C++。&lt;img src ="http://blog.csdn.net/pongba/aggbug/1732055.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>《C++0x漫谈》系列之：Concept, Concept!</title><link>http://blog.csdn.net/pongba/archive/2007/08/04/1726031.aspx</link><pubDate>Sat, 04 Aug 2007 14:26:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/08/04/1726031.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1726031.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/08/04/1726031.aspx#Feedback</comments><slash:comments>78</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1726031.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1726031</trackback:ping><description>好吧好吧，我承认我跳票了，上次说这次要写variadic templates的。但g9老大写了一篇精彩的散记，让我觉得concept应该先写，因为这实在是个有意思的特性，比variadic templates有意思多了。&lt;img src ="http://blog.csdn.net/pongba/aggbug/1726031.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>Generic Programming - What are you, anyway?</title><link>http://blog.csdn.net/pongba/archive/2007/07/29/1715263.aspx</link><pubDate>Sun, 29 Jul 2007 19:03:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/07/29/1715263.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1715263.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/07/29/1715263.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1715263.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1715263</trackback:ping><description>This post is a survey of what generic programming really is and what it means&lt;img src ="http://blog.csdn.net/pongba/aggbug/1715263.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>《C++0x漫谈》系列之：右值引用(或“move语意与完美转发”)(下) </title><link>http://blog.csdn.net/pongba/archive/2007/07/18/1697636.aspx</link><pubDate>Wed, 18 Jul 2007 20:50:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/07/18/1697636.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1697636.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/07/18/1697636.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1697636.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1697636</trackback:ping><description>在泛型编码中经常出现的一个问题是（这个问题在实际中出现的场景很多，我们留到文章末尾再提，目前我们将这个特定的问题先提取孤立出来考虑）：如何将一组参数原封不动地转发给另一个函数...

&lt;img src ="http://blog.csdn.net/pongba/aggbug/1697636.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>《C++0x漫谈》系列之：右值引用(或“move语意与完美转发”)(上)</title><link>http://blog.csdn.net/pongba/archive/2007/07/10/1684519.aspx</link><pubDate>Tue, 10 Jul 2007 16:09:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/07/10/1684519.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1684519.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/07/10/1684519.aspx#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1684519.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1684519</trackback:ping><description>右值引用（及其支持的Move语意和完美转发）是C++0x将要加入的最重大语言特性之一，这点从该特性的提案在C++ - State of the Evolution列表上高居榜首也可以看得出来。从实践角度讲，它能够完美解决C++中长久以来为人所诟病的临时对象效率问题。从语言本身讲，它健全了C++中的引用类型在左值右值方面的缺陷。从库设计者的角度讲，它给库设计者又带来了一把利器。从库使用者的角度讲，不动一兵一卒便可以获得“免费的”效率提升…&lt;img src ="http://blog.csdn.net/pongba/aggbug/1684519.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>《C++0x漫谈》系列之：多线程内存模型</title><link>http://blog.csdn.net/pongba/archive/2007/06/20/1659952.aspx</link><pubDate>Wed, 20 Jun 2007 21:29:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/06/20/1659952.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1659952.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/06/20/1659952.aspx#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1659952.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1659952</trackback:ping><description>内存模型是C++09最重大的特性之一，之所以重大是因为多线程并发编程将成为下一个十年的主题之一，对此C++小胡子Herb Sutter早有精彩的论述。为什么在C++里面要想顺畅地进行多线程编程需要对标准进行修订（而不仅仅是通过现有的多线程库如POSIX、boost.Thread即可）呢？对此Hans Boehm在他的著名的超级晦涩难懂的paper——《Threads Cannot be Implemented as a Library》——里面其实已经详尽地阐述了原因，但是，一，尽管这篇paper被到处cite，newsgroup上面关于到底能不能用volatile来实现线程安全性这类问题还是争议不断。这方面就连C++牛魔王Andrei Alexandrescu都犯过错误，可见有多难缠。
&lt;img src ="http://blog.csdn.net/pongba/aggbug/1659952.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>刘未鹏</dc:creator><title>一个问题，两人讨论，几行代码，一些启发</title><link>http://blog.csdn.net/pongba/archive/2007/06/11/1647731.aspx</link><pubDate>Mon, 11 Jun 2007 13:24:00 GMT</pubDate><guid>http://blog.csdn.net/pongba/archive/2007/06/11/1647731.aspx</guid><wfw:comment>http://blog.csdn.net/pongba/comments/1647731.aspx</wfw:comment><comments>http://blog.csdn.net/pongba/archive/2007/06/11/1647731.aspx#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://blog.csdn.net/pongba/comments/commentRss/1647731.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=1647731</trackback:ping><description>一个问题，两人讨论，几行代码，一些启发。&lt;img src ="http://blog.csdn.net/pongba/aggbug/1647731.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>