﻿<?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/yangjiudan/</link><description>树叶虽小，亦能破浪！</description><language>zh-cn</language><lastBuildDate>Tue, 07 Apr 2026 21:36:54 GMT</lastBuildDate><pubDate>Tue, 07 Apr 2026 21:36:54 GMT</pubDate><ttl>60</ttl><item><title>什么可以使一个人坚持到底？</title><link>http://www.cppblog.com/yangjiudan/archive/2008/08/12/58665.html</link><dc:creator>乘风破浪小树叶</dc:creator><author>乘风破浪小树叶</author><pubDate>Tue, 12 Aug 2008 15:40:00 GMT</pubDate><guid>http://www.cppblog.com/yangjiudan/archive/2008/08/12/58665.html</guid><wfw:comment>http://www.cppblog.com/yangjiudan/comments/58665.html</wfw:comment><comments>http://www.cppblog.com/yangjiudan/archive/2008/08/12/58665.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.cppblog.com/yangjiudan/comments/commentRss/58665.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/yangjiudan/services/trackbacks/58665.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 杠杆原理，支撑你走下去！&nbsp;&nbsp;<a href='http://www.cppblog.com/yangjiudan/archive/2008/08/12/58665.html'>阅读全文</a><img src ="http://www.cppblog.com/yangjiudan/aggbug/58665.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/yangjiudan/" target="_blank">乘风破浪小树叶</a> 2008-08-12 23:40 <a href="http://www.cppblog.com/yangjiudan/archive/2008/08/12/58665.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++语言学习推荐书目</title><link>http://www.cppblog.com/yangjiudan/archive/2006/03/28/4693.html</link><dc:creator>乘风破浪小树叶</dc:creator><author>乘风破浪小树叶</author><pubDate>Tue, 28 Mar 2006 10:30:00 GMT</pubDate><guid>http://www.cppblog.com/yangjiudan/archive/2006/03/28/4693.html</guid><wfw:comment>http://www.cppblog.com/yangjiudan/comments/4693.html</wfw:comment><comments>http://www.cppblog.com/yangjiudan/archive/2006/03/28/4693.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/yangjiudan/comments/commentRss/4693.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/yangjiudan/services/trackbacks/4693.html</trackback:ping><description><![CDATA[
		<p>（一）语言入门:<br />《C++ Primer》<br />最新版本：第三版（第四版国外已上架，国内一些网上书店也在预订中）<br />适合有丰富C经验，缺乏C++经验的。不过我个人一直认为此书带着过于强烈的C语言的痕迹，对于C++的学习未必是好事。</p>
		<p>《The C++ Programming Language》/《C++程序设计语言》<br />最新版本：第三版特别版<br />简称TC++PL，有其他语言的丰富经验的。（也有人简称之为“TCPL”，但需与另一本《The C Programmer Language》区分开来）</p>
		<p>《Essential C++》<br />《Accelerated C++》<br />这两本薄一些，都是不错的选择。《Accelerated C++》本人没有读过，从各方面的评价来看，完全值得推荐。</p>
		<p>以上几本书都有相应的中文版，而且翻译的质量都不错。上面的书未必都需要读一遍，但无论如何，TC++PL是应该阅读的。</p>
		<p>（二）进阶A：<br />这个路线侧重于语言本身</p>
		<p>《Effective C++》<br />最新版本：第二版（第三版国外已上架，国内一些网上书店也在预订中）<br />简称EC。C++程序员必读！很多时候，我们说C++圣经不是指TC++PL，而是这一本。《The Pragmatic Programmer》一书中写到：“一旦你发现自己要参与C++项目的开发，赶快跑（不要走）到书店去购买Scott Mayer的《Effective C++》，可能还要《More Effective C++》”。</p>
		<p>《C++ Coding Standards: 101 Rules, Guidelines, and Best Practices》/《C++ 编程规范》<br />个人认为此书应为C++程序员必备的案头书。几乎Effective系列和Exceptional系列都在这里得到了总结。最新的模版、异常的业界经验都在这里的到了体现。可能的唯一缺陷就是对一个新手而言，关于“为什么这么做”的问题，解释的不够。<br />我的看法是：如果你不理解其中的条款，记忆，并且照做；如果你理解其中的条款，我猜你一定会同意书中的观点。我认为这本书中的内容至少在2009年以前都不会过时，人们将广为传诵它制定的101条戒律。<br />还不知道他的简称，也许“101”会成为一个候选者？ </p>
		<p>提到《Effective C++》，那么另外三本书一一浮出水面：<br />《More Effective C++》<br />《Exceptional C++》<br />《More Exceptional C++》。<br />新书《Exceptional C++ Style》也是值得一看的好书。<br />上述几本书，一本也不应该放过。<br />个人建议上述书籍按顺序阅读。并且，在将来反复阅读这几本书。</p>
		<p>（三）进阶B：<br />这个路线侧重于程序库。 </p>
		<p>《The C++ Standard Library》/《C++标准程序库—自修教程与参考手册》<br />听说过STL吗？这本书会教你最基本的，也是最重要的STL的使用。这本书，应该是必读的。</p>
		<p>《Effective STL》<br />会使用STL还不够，还必须知道什么时候选择什么STL组件，这是STL使用的必读书。</p>
		<p>《Generic Programming and the STL: Using and Extending the C++ Standard Template Library》/《泛型编程与STL》。<br />这本书理论性较强，但是真的很严谨，而且并不是非常难懂。理解其中对于Concept的解释，将是非常重要的。 </p>
		<p>《C++ STL》<br />这不是讲述使用程序库的，而是讲述程序库实现原理的。肠胃不好的，需要慢慢吸收。</p>
		<p>这个路线的书，仍然是建议按顺序阅读。<br />进阶A、进阶B两个路线应该是可以并行的。</p>
		<p>其他进阶参考书<br />提出这些参考书，只是避免争议，也为开阔视野，笔者并不曾完全读过所有的。</p>
		<p>《Thinking in C++》/《C++编程思想》<br />这本书及其中文版传言好坏都有，没有认真看过，不做评价，如果确有兴趣，不妨尝试一下该书。</p>
		<p>以下几本书基本上涉及的都是语言本身，大体上可以按照以下的顺序阅读。</p>
		<p>《C++必知必会》<br />如果早一年，这本书将是重量级的，然而它被101和《Exceptional C++ Style》盖过一头。</p>
		<p>《C++ Gotchas: Avoiding Common Problems in Coding and Design》/《C++程序设计陷阱》<br />这又是一本我未曾读过，而且广受好评的书。</p>
		<p>《STL 源码剖析》<br />这本书我刚到手，就被人"借"走，以至于到现在也没有看过。看过这本书的朋友，可以给一个合适的评价。 </p>
		<p>高级：<br />《The Design and Evolution of C++》/《C++语方的设计和演化》<br />简称D&amp;E，内容并不艰深，Bjarne的书，仅此，就值得一读。<br />前段时间，互动网曾8块一本（人民币）贱卖此书，现在好像没了。</p>
		<p>《Inside The C++ Object Model》/《深度探索C++对象模型》<br />C程序员读后一定会觉得C++原来并不神秘。</p>
		<p>《C++ Template》<br />在阅读STL、Boost或者Loki的源代码之前，请仔细阅读本书，它可以减轻一些阅读的烦恼。这本书是讨论C++模版的权威。 </p>
		<p>《Modern C++ Design Generic Programming and Design Patterns Applied》/《C++设计新思维——泛型编程与设计模式之应用》<br />简称MCD。在阅读MCD之前，建议先阅读一下《C++ Template》。</p>
		<p>《对象揭秘：Java、Eiffel和C++》<br />你对C++不满吗？这本书可以部分地帮你完成抱怨的目标。也许它还可以让你不迷信C++。</p>
		<p>最后，一份C++标准文档也是应该加以咀嚼的。 <br />还有一些书籍，并不能简单的归于C++，也难以在纯粹的书本学习中加以掌握。《Design Patterns》/《设计模式》一书就归于此类。</p>
		<p>所有上述的书籍，要么谈论C++语言本身，要么谈论STL的，要么兼而有之（当然严格讲STL也是C++语言非常重要的一部分）。偶尔，某些书中条目也会涉及实际工程。这些书并不是C++软件开发的全部，但是他们很重要。阅读这些书，未必需要化费太多的精力，有时候是会困难，但也有时候会很快速。<br />最后，编程语言并非计算机科学技术的全部，尤其对于在校的学生来说，打好基础、开阔视野都是非常重要的。<br /><br />转载：<a href="http://community.csdn.net/Expert/topic/4630/4630488.xml?temp=7.201785E-02">http://community.csdn.net/Expert/topic/4630/4630488.xml?temp=7.201785E-02</a></p>
<img src ="http://www.cppblog.com/yangjiudan/aggbug/4693.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/yangjiudan/" target="_blank">乘风破浪小树叶</a> 2006-03-28 18:30 <a href="http://www.cppblog.com/yangjiudan/archive/2006/03/28/4693.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++编程思想学习笔记－命名控制</title><link>http://www.cppblog.com/yangjiudan/archive/2006/03/24/4571.html</link><dc:creator>乘风破浪小树叶</dc:creator><author>乘风破浪小树叶</author><pubDate>Fri, 24 Mar 2006 14:16:00 GMT</pubDate><guid>http://www.cppblog.com/yangjiudan/archive/2006/03/24/4571.html</guid><wfw:comment>http://www.cppblog.com/yangjiudan/comments/4571.html</wfw:comment><comments>http://www.cppblog.com/yangjiudan/archive/2006/03/24/4571.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/yangjiudan/comments/commentRss/4571.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/yangjiudan/services/trackbacks/4571.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: C++												编程思想学习笔记－命名控制																																				一、           																												static																				的使用																						...&nbsp;&nbsp;<a href='http://www.cppblog.com/yangjiudan/archive/2006/03/24/4571.html'>阅读全文</a><img src ="http://www.cppblog.com/yangjiudan/aggbug/4571.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/yangjiudan/" target="_blank">乘风破浪小树叶</a> 2006-03-24 22:16 <a href="http://www.cppblog.com/yangjiudan/archive/2006/03/24/4571.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++编程思想学习笔记－常量</title><link>http://www.cppblog.com/yangjiudan/archive/2006/03/24/4570.html</link><dc:creator>乘风破浪小树叶</dc:creator><author>乘风破浪小树叶</author><pubDate>Fri, 24 Mar 2006 14:15:00 GMT</pubDate><guid>http://www.cppblog.com/yangjiudan/archive/2006/03/24/4570.html</guid><wfw:comment>http://www.cppblog.com/yangjiudan/comments/4570.html</wfw:comment><comments>http://www.cppblog.com/yangjiudan/archive/2006/03/24/4570.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/yangjiudan/comments/commentRss/4570.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/yangjiudan/services/trackbacks/4570.html</trackback:ping><description><![CDATA[
		<p>C++编程思想学习笔记－常量</p>
		<p>一、全局范围的const使用<br />1、const的使用有两种效果，一是生成编译期常量，二是运行期常量。<br />      做为编译期常量主要用作值替代，即取代C中的＃define常量定义，一般用于设置数组大小。<br />   此时不分配存储空间，只在有extern限定或取地址时才会分配空间。<br />      做为运行期常量主要控制程序的安全性，它们会被分配空间，但一经初始化就不能再改变，<br />   数组，结构等集合始终是运行期常量，不能当做编译期常量使用，例如不能用于设置数组大小。<br />   另外C中的const只是运行期常量。<br />2、const对指针的使用<br />   指向const的指针 const int* x，int const* x；<br />   const指针 int* const x；<br />   注意：关于赋值，不能把const指针（引用）赋给非const指针（引用）（会通过非const指针改<br />   变const指针指向的值！），但可以把非const指针（引用）赋给const指针（引用）。这是基于<br />   安全的考虑。<br />3、const用于函数参数与返回值<br />       参数做为const值一般作为函数中的一个初始值；但一般如下使用更易理解：<br />  void f(int ic)<br />  {<br />   const int&amp; i=ic;<br />   //others<br />  }<br />    参数做为const指针或引用是基于安全与效率的原因；并且一般不改变参数的函数，参数要用<br /> const int* cip或const int&amp; ci;这样的函数可const和非const参数，若函数参数没有const<br /> 修饰则只能接受非const参数，不能接受const参数，不具有通用性，所以记住如下用法：<br />     void f(const int&amp; ic)<br />     {}<br /> 注意：所有临时变量都是常量；<br />        返回值做为const值时表明此返回值不能做为左值或修改，一般用于用户自定义类，对于内部<br />    数据无意义。<br />        返回值做为const指针时要注意接受返回值的变量要为const所修饰。<br />二、类内部的const使用<br />1、类内部const的含义－它在每个类对象里分配存储空间，且一旦初始化后就不能改变（运行期常<br />   量），它要在构造函数的初始化表中初始化。<br />2、要想在类内部使用编译期常量，可以使用enum枚举；它不会占用存储空间。<br />3、const用于成员函数－表明此类函数不会改变对象的数据，能被const对象所调用（const对象只<br />   能调用const成员函数）但若想在const成员函数中改变数据，有两种方法：<br />   1&gt;通过this指针把const变量强制转换为非const的。<br />   2&gt;用mutable修饰要改变的变量。<br />   推荐使用2&gt;。<br />三、volatile的使用<br />   表示此数据可以被改变－－用于编译器对此数据的优化假定，当编译器读取此数据时会认为它已<br />   被改变会再次读取到寄存器中，不会假定它没变从而直接使用寄存器的值。<br />   const volatile表示这个对象不能被程序员改变，但可以通过外面的工具改变（？不懂）。</p>
<img src ="http://www.cppblog.com/yangjiudan/aggbug/4570.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/yangjiudan/" target="_blank">乘风破浪小树叶</a> 2006-03-24 22:15 <a href="http://www.cppblog.com/yangjiudan/archive/2006/03/24/4570.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>