标准C++学习
文章平均质量分 78
tossgoer
这个作者很懒,什么都没留下…
展开
-
析构函数的小秘密
<br />对于析构函数,每个人都非常熟悉,以至于遗忘了她一些与众不同的地方,其实,析构函数偶尔也会爆发个性的哟,不相信的话,请看下面的代码。<br /> <br />send.CRC = ~TCRC32().Check(&send,sizeof(TMyStatusPkg)-4);<br /> <br />这是水木上的一个帖子,作者不知这是什么语法。其中TCRC32是一个类。<br /> <br />乍一看很多和帖子作者一样的人都会迷惑(包括我在内):析构函数怎会有返回值呢?<br /> <br />实际上原创 2011-02-17 15:20:00 · 396 阅读 · 0 评论 -
Google C++ Style Guide私人解读(1)
基于Revision 3.188 二 头文件一般来说,每个.cc文件都应该有一个关联的.h文件。有一些常见的例外,如单元测试代码和只包含一个main()函数的.cc小文件,不在此列。头文件的正确使用能够给您代码的可读性、尺寸和性能带来极大的不同。以下规则会让您避开头文件使用的误区。#define守卫所有头文件都要用#define守卫来避免多次包含。符号命名格式应为___H_。为了保证唯一性,符号命名应该基于文件在项目源码树中的全路径。比如说,foo项目中的文件foo/src/bar/baz.h应该放置以下翻译 2011-05-21 00:23:00 · 912 阅读 · 0 评论 -
Google C++ Style Guide私人解读(0)
基于Revision 3.188 本文只用于加深自身对C++的理解和掌握,翻译不求信雅达,兴而所致,讹误必多,读者慎之!建议读者参考原版或YuleFox的译文。评论亦只出于个人喜好,态度更将随时间而改变。一 背景C++是许多Google开源项目使用的主力开发语言。正如每名C++程序员所知,C++有很多强大的特性,这种强大也导致了它的复杂,而复杂性又可能导致C++代码更容易出bug,更难读懂,更难维护。本规范的目标是,通过详细叙述“写C++代码时该做什么,不该做什么”管理这种复杂性。规范中所有的守则都是为了原创 2011-05-21 00:12:00 · 596 阅读 · 0 评论 -
DIY一个C++ traits来判断enum是否有用户自定义的operator<<
前段时间发现自己的String库中有个bug: String& operator+=(int); String& operator+=(unsigned); // 所有的整型、浮点型都有一个operator+=的重载 template String& operator+=(const T& t) { std::stringstream ss; ss << t;原创 2012-03-19 01:49:32 · 1158 阅读 · 0 评论