<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[树人的森林]]></title><description><![CDATA[树人是由森林守护者的自然之力技能创造的,一段时间后将会消失。.................................................一个树人在森林里倒下时，会发出声音吗？]]></description><link>https://blog.youkuaiyun.com/arha</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; arha]]></copyright><item><title><![CDATA[ An Illustrated Guide to IPsec]]></title><link>https://blog.youkuaiyun.com/arha/article/details/1612612</link><guid>https://blog.youkuaiyun.com/arha/article/details/1612612</guid><author>arha</author><pubDate>Thu, 17 May 2007 09:11:00 +0800</pubDate><description><![CDATA[ http://www.unixwiz.net/techtips/iguide-ipsec.html]]></description><category></category></item><item><title><![CDATA[Prefactoring Guidelines]]></title><link>https://blog.youkuaiyun.com/arha/article/details/499867</link><guid>https://blog.youkuaiyun.com/arha/article/details/499867</guid><author>arha</author><pubDate>Tue, 11 Oct 2005 16:40:00 +0800</pubDate><description><![CDATA[                                                                                                            Prefactoring                                                        ]]></description><category></category></item><item><title><![CDATA[Things To Remember:Constructors, Destructors, and Assignment Operators]]></title><link>https://blog.youkuaiyun.com/arha/article/details/396867</link><guid>https://blog.youkuaiyun.com/arha/article/details/396867</guid><author>arha</author><pubDate>Fri, 17 Jun 2005 17:42:00 +0800</pubDate><description><![CDATA[By Scott MeyersThings to RememberConstructors, Destructors, and Assignment Operators·         Compilers may implicitly generate a classs default constructor, copy constructor, copy assignment operato]]></description><category></category></item><item><title><![CDATA[Things to Remember: Accustoming Yourself to C++]]></title><link>https://blog.youkuaiyun.com/arha/article/details/391175</link><guid>https://blog.youkuaiyun.com/arha/article/details/391175</guid><author>arha</author><pubDate>Thu, 09 Jun 2005 17:49:00 +0800</pubDate><description><![CDATA[Effective C++ Third EditionBy Scott Meyers Things to Remember: Accustoming Yourself to C++·         Rules for effective C++ programming vary, depending on the part of C++ you are using.·         For s]]></description><category></category></item><item><title><![CDATA[C++ Coding Standards:Item0不要为小事斤斤计较]]></title><link>https://blog.youkuaiyun.com/arha/article/details/390090</link><guid>https://blog.youkuaiyun.com/arha/article/details/390090</guid><author>arha</author><pubDate>Wed, 08 Jun 2005 08:47:00 +0800</pubDate><description><![CDATA[By Herb Sutter, Andrei Alexandrescu 著树人 译Item0 不要为小事斤斤计较（或者说是：知道什么东西不需要标准化）摘要：少说废话，捡有必要的说：不要把个人的品味或废弃的实践强加于他人。讨论：仅仅是个人的品味和不会影响正确性或可读性的问题不能加到编码标准中来。任何专业程序设计人员都可以很轻松地阅读和编写同他们所习惯的格式稍有不同的代码。应该在各个源文件甚至各个项目]]></description><category></category></item><item><title><![CDATA[C++ Coding Standards：类型安全]]></title><link>https://blog.youkuaiyun.com/arha/article/details/385004</link><guid>https://blog.youkuaiyun.com/arha/article/details/385004</guid><author>arha</author><pubDate>Tue, 31 May 2005 17:38:00 +0800</pubDate><description><![CDATA[By Herb Sutter, Andrei Alexandrescu 著树人 译类型安全90.      避免使用类型转换，优先使用多态。关闭转换：避免通过转换一个对象的类型来定制行为。通过模板和虚拟函数机制，让类型（而不是类型的调用代码）来决定其自身的行为。91.      依赖于类型，而不是表示法。不要尝试X射线对象：不要去假设对象在内存中是如何表示的。让类型自身来决定如何从内存中写入和读取]]></description><category></category></item><item><title><![CDATA[2004年给人印象深刻的18个人博客网站 ]]></title><link>https://blog.youkuaiyun.com/arha/article/details/384988</link><guid>https://blog.youkuaiyun.com/arha/article/details/384988</guid><author>arha</author><pubDate>Tue, 31 May 2005 17:24:00 +0800</pubDate><description><![CDATA[2004年给人印象深刻的18个人博客网站 稿件来源：博客中国 1. 狗日报 http://www.18mo.com 因为它获得了年度博客奖，让人们认识到专注在博客上的价值 2. 对牛乱弹琴 http://www.donews.net/keso/ 洪波的个人博客，在IT评论方面有自己的见解，另外，这个blog告诉人，做blog，贵在坚持 3. 思维的乐趣 http://blog.mindmeters]]></description><category></category></item><item><title><![CDATA[C++ Coding Standards:STL：容器和算法]]></title><link>https://blog.youkuaiyun.com/arha/article/details/384975</link><guid>https://blog.youkuaiyun.com/arha/article/details/384975</guid><author>arha</author><pubDate>Tue, 31 May 2005 17:12:00 +0800</pubDate><description><![CDATA[By Herb Sutter, Andrei Alexandrescu树人 译STL：容器76.      默认情况下使用vector。否则，选择一个适当的容器。使用“正确（合适）的容器”是很重要的：如果你有一个很好的理由使用某个特定的容器，在你了解你所做的是对的情况下，你可以使用那个容器。So is using vector: Otherwise, write vector and keep g]]></description><category></category></item><item><title><![CDATA[Imperfect C++：Chapter11 静态对象：静态成员和终结部（初稿）]]></title><link>https://blog.youkuaiyun.com/arha/article/details/381587</link><guid>https://blog.youkuaiyun.com/arha/article/details/381587</guid><author>arha</author><pubDate>Thu, 26 May 2005 17:43:00 +0800</pubDate><description><![CDATA[By Matthew Wilson树人 译11.4静态成员  在讲述静态对象的一章中，不涵盖静态成员是很无礼的，所以我们现在来看看静态成员。这一节中的一些问题是新的；另一些则是早先章节中提出的问题的一个缩影。11.4.1拦截链接器问题  有些时候，你会为程序库的类或函数编码，这些类或函数不会在进程，当前用户或系统会话的生存期中更改，甚至是在系统安装的生存期中。如此的话，每次你想存取常量信息的时候都]]></description><category></category></item><item><title><![CDATA[C++ Coding Standards:错误处理和异常]]></title><link>https://blog.youkuaiyun.com/arha/article/details/381490</link><guid>https://blog.youkuaiyun.com/arha/article/details/381490</guid><author>arha</author><pubDate>Thu, 26 May 2005 15:57:00 +0800</pubDate><description><![CDATA[By Herb Sutter, Andrei Alexandrescu 著 树人 译 错误处理和异常 68.      使用断言(assert)来证明内部假设和不变量。 Be assertive！对一个模块的内部假设可以使用assert或等价物来说明（例如：调用者和被调用者由同一个人或团队维护），这个假设必须总为true，否则就代表着程序设计错误（例如：]]></description><category></category></item><item><title><![CDATA[C++ Coding Standards:模板和泛型]]></title><link>https://blog.youkuaiyun.com/arha/article/details/380439</link><guid>https://blog.youkuaiyun.com/arha/article/details/380439</guid><author>arha</author><pubDate>Wed, 25 May 2005 12:27:00 +0800</pubDate><description><![CDATA[By Herb Sutter, Andrei Alexandrescu 著树人译模板和泛型64.      明智地混合使用静态和动态多态。比单纯的部分的总和更多：静态和动态多态是互补的。理解它们的权衡标准，在各自最好的情况下使用它们，并且混合使用它们来达到两全其美。65.      有意地和显式地定制模板。有意图要优于偶然性，显式要优于隐式：在编写模板的时候，要有意识和正确地提供定制点，而且要清楚]]></description><category></category></item><item><title><![CDATA[C++ Coding Standards:名字空间和模块]]></title><link>https://blog.youkuaiyun.com/arha/article/details/379689</link><guid>https://blog.youkuaiyun.com/arha/article/details/379689</guid><author>arha</author><pubDate>Tue, 24 May 2005 14:39:00 +0800</pubDate><description><![CDATA[By Herb Sutter, Andrei Alexandrescu 著树人译名字空间和模块57.      把类型和其非成员函数接口放在同一个名字空间中。非成员函数也是函数：为了能被正确地调用，被用作一个类类型X的接口的一部分的非成员函数（特别是操作符和助手函数）必须定义在X所在的名字空间中。58.      把类型和函数放到单独的名字空间中，除非你明确地想把它们放到一起工作。这样有助于防止名]]></description><category></category></item><item><title><![CDATA[Imperfect C++:Chapter 11 Statics:11.3Function-Local static objects]]></title><link>https://blog.youkuaiyun.com/arha/article/details/378991</link><guid>https://blog.youkuaiyun.com/arha/article/details/378991</guid><author>arha</author><pubDate>Mon, 23 May 2005 18:35:00 +0800</pubDate><description><![CDATA[By Matthew Wilson树人 译11.3Function-Local(局部于函数)的静态对象  在前两节中我们着眼于非局部静态对象。在这一节中，我们来看看定义在函数作用域中的局部静态对象，例如：Local &GetLocal(){  static Local local;  return local;}  非局部和局部静态对象之间的关键性差别是局部静态对象在需要时被创建，也就是说函数第一]]></description><category></category></item><item><title><![CDATA[C++ Coding Standards:构造，析构和拷贝]]></title><link>https://blog.youkuaiyun.com/arha/article/details/378881</link><guid>https://blog.youkuaiyun.com/arha/article/details/378881</guid><author>arha</author><pubDate>Mon, 23 May 2005 15:59:00 +0800</pubDate><description><![CDATA[By Herb Sutter, Andrei Alexandrescu 著树人 译构造，析构和拷贝47.      以相同的顺序初始化成员变量。根据你的编译器：成员变量总是以它们在类定义中被声明的顺序来初始化的；它们在构造函数初始化列表中列出的顺序会被忽略。确保构造函数代码不会胡乱地指定一个不同的顺序。48.      优先使用初始化，而不是在构造函数中赋值。一次设定，处处使用：在构造函数中，用初]]></description><category></category></item><item><title><![CDATA[C++ Coding Standards:函数与操作符；类设计与继承]]></title><link>https://blog.youkuaiyun.com/arha/article/details/376988</link><guid>https://blog.youkuaiyun.com/arha/article/details/376988</guid><author>arha</author><pubDate>Fri, 20 May 2005 17:08:00 +0800</pubDate><description><![CDATA[By Herb Sutter, Andrei Alexandrescu 著树人译函数和操作符25.      合理地对待通过传值，传（智能）指针或传引用的参数。合理地确定参数：区分输入，输出和输入/输出参数，区分值参数和引用参数。合理地对待它们。26.      保留被重载操作符的自然语义。程序设计人员并不喜欢惊奇：只有在有适当的理由时采取重载操作符，而且要保留自然的语义；如果那样做很困难的话，那]]></description><category></category></item><item><title><![CDATA[Imperfect C++-Chapter11静态变量（续）]]></title><link>https://blog.youkuaiyun.com/arha/article/details/376982</link><guid>https://blog.youkuaiyun.com/arha/article/details/376982</guid><author>arha</author><pubDate>Fri, 20 May 2005 17:03:00 +0800</pubDate><description><![CDATA[By Matthew Wilson树人 译11.1非局部静态对象：Globals  尽管语言非常清楚地定义了初始化阶段和主流程之间的关系，但非局部静态对象的使用还是有若干的缺陷（section15.5）而且通常都不被推荐使用。其使用的主要问题涉及到次序，现在我们来看看吧。  次序问题有两个密切相关的方面组成。首先是在两个或多个静态变量之间可能存在循环的相互依赖性。这是一个基本的工程技术问题，对此你]]></description><category></category></item><item><title><![CDATA[Imperfect C++ Practical Solutions for Real-Life Programming-Chapter11.Statics]]></title><link>https://blog.youkuaiyun.com/arha/article/details/376326</link><guid>https://blog.youkuaiyun.com/arha/article/details/376326</guid><author>arha</author><pubDate>Thu, 19 May 2005 08:58:00 +0800</pubDate><description><![CDATA[ Matthew Wilson 著树人译Chapter 11静态变量Chapter 11静态变量  静态对象不同于栈变量和堆变量，因为它们的内存是由链接器固定并分配的，而且它们的生存期（很大程度上）与进程的执行流是不相关的。静态对象分为三种类别：1.         定义在函数作用域的局部静态变量。2.         定义在全局名称空间或具名和匿名名称空间中的全局和名称空间级的静态变量，也就是通]]></description><category></category></item><item><title><![CDATA[C++ Coding Standards:Summary of Summaries-编码风格]]></title><link>https://blog.youkuaiyun.com/arha/article/details/376323</link><guid>https://blog.youkuaiyun.com/arha/article/details/376323</guid><author>arha</author><pubDate>Thu, 19 May 2005 08:50:00 +0800</pubDate><description><![CDATA[By Herb Sutter, Andrei Alexandrescu 著树人 译编码风格14.      优先使用编译时和链接时错误，而不是运行时错误。不要把可以在构建时做的事情推迟到运行时来做：优先编写那些在编译阶段利用编译器来检查不变量的代码，而不是在运行时来检查它们。运行时检查时控制和数据是独立的，也就是说你不能彻底地了解它们。相反，编译时检查是非控制和数据独立的，而且它还能提供更高等级的]]></description><category></category></item><item><title><![CDATA[C++ Coding Standards:Summary of Summaries-组织和方针问题与设计风格]]></title><link>https://blog.youkuaiyun.com/arha/article/details/375659</link><guid>https://blog.youkuaiyun.com/arha/article/details/375659</guid><author>arha</author><pubDate>Mon, 16 May 2005 18:25:00 +0800</pubDate><description><![CDATA[By Herb Sutter, Andrei Alexandrescu 著树人 译组织和方针问题0.      不要为小事斤斤计较。（或者说是：知道什么东西不需要标准化）少说废话，捡有必要的说：不要把个人的品味或废弃的实践强加于他人。1.      在高警告级别下干净地编译代码。要把警告放在心上：使用你的编译器的最高警告级别。要求干净（没有警告）的构建。理解所有的警告。通过修改你的代码来消除警告，]]></description><category></category></item><item><title><![CDATA[Imperfect C++ Practical Solutions for Real-Life Programming：Imperfections, Constraints, Definitions, and Recommendations]]></title><link>https://blog.youkuaiyun.com/arha/article/details/375460</link><guid>https://blog.youkuaiyun.com/arha/article/details/375460</guid><author>arha</author><pubDate>Mon, 16 May 2005 15:09:00 +0800</pubDate><description><![CDATA[By Matthew WilsonImperfections, Constraints, Definitions, and RecommendationsImperfection: C++ does not provide direct support for constraints. (p. 4)Imperfection: C++ does not provide suitable suppor]]></description><category></category></item></channel></rss>