自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (5)
  • 收藏
  • 关注

原创 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 1147

翻译 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 891

原创 Google C++ Style Guide私人解读(0)

基于Revision 3.188 本文只用于加深自身对C++的理解和掌握,翻译不求信雅达,兴而所致,讹误必多,读者慎之!建议读者参考原版或YuleFox的译文。评论亦只出于个人喜好,态度更将随时间而改变。一  背景C++是许多Google开源项目使用的主力开发语言。正如每名C++程序员所知,C++有很多强大的特性,这种强大也导致了它的复杂,而复杂性又可能导致C++代码更容易出bug,更难读懂,更难维护。本规范的目标是,通过详细叙述“写C++代码时该做什么,不该做什么”管理这种复杂性。规范中所有的守则都是为了

2011-05-21 00:12:00 575

原创 析构函数的小秘密

<br />对于析构函数,每个人都非常熟悉,以至于遗忘了她一些与众不同的地方,其实,析构函数偶尔也会爆发个性的哟,不相信的话,请看下面的代码。<br /> <br />send.CRC = ~TCRC32().Check(&send,sizeof(TMyStatusPkg)-4);<br /> <br />这是水木上的一个帖子,作者不知这是什么语法。其中TCRC32是一个类。<br /> <br />乍一看很多和帖子作者一样的人都会迷惑(包括我在内):析构函数怎会有返回值呢?<br /> <br />实际上

2011-02-17 15:20:00 385

原创 隐藏Apache的版本号

<br />最近在用Django搞一个小玩意,但又担心被别人笑话,于是留了个心眼,将Django部署到Apache上,然后wget看看有无要紧消息(用-S,--spider返回头信息):<br /><br /><br />HTTP request sent, awaiting response...<br />   HTTP/1.1 200 OK<br />   Date: Thu, 16 Sep 2010 14:07:14 GMT<br />   Server: Apache/2.2.16 (Uni

2010-09-16 22:36:00 884

原创 换行幽灵——Vim的诡异问题

Vim是个相当不错的工具,我一直用它。但就算是一款如此牛逼的工具,偶尔也会给你的生活带来麻烦,就像所有好用或不好用的工具一样,就像我那部老旧的剃须刀一样(它更像个绞肉机,只是附带了切割胡须的功能)。回到今天的主题,我最近在用Python写一个解析日志的小工具,非常简单。因为需要解析的日志之格式是每行一条记录,因此这个解析器的全部功能就是读入一行日志,然后解析它。虽说Linux保证不同进程对于用O_APPEND标志打开的同一文件写入是原子操作,但它并没有说读入也是原子操作(当然更可能是我比较土),更不用说是用

2010-08-21 00:12:00 1421 1

原创 Python的yield关键字

忽然得知Python有个叫yield的关键字,好奇之下去查了查,花了点时间基本弄明白了,故写在此备忘,顺便充充字数。yield关键字用来定义生成器(Generator),其具体功能是可以当return使用,从函数里返回一个值,不同之处是用yield返回之后,可以让函数从上回yield返回的地点继续执行。也就是说,yield返回函数,交给调用者一个返回值,然后再“瞬移”回去,让函数继续运行, 直到吓一跳yield语句再返回一个新的值。使用yield返回后,调用者实际得到的是一个迭代器对象,迭代器的值就是返回值

2010-08-18 21:46:00 1582 1

原创 对MongoDB的一点认识

版本测试平台字长1.5.432位说明:由于手头没有合适的机器,所以本文只能反映MongoDB的1.5.4 在32位 系统下的表现。本文主要关注1.5.4具备的Alpha2版自动分区(sharding)功能。MongoDB 是一个面向文档的数据库,支持高级查询、全文索引、自动分区、主从备份以及MapReduce。可说兼具Mysql和Bigtable的优点(至少它自己是这么说的)。MongoDB的开发小组用偶数表示正式发布的稳定版,奇数则用来表示开发版,所以1.5.4是一个不稳定的版本 ,问题也不少。1

2010-07-15 17:07:00 3195

C++语言的设计与演化

BS的另一本书,哈哈BS的这两本书我是都看过了,虽然现在已经不记得多少。

2008-12-25

C++程序设计语言(特别版)

TC++PL的英文版,不知道是第三版还是第三版特别版,大家甄别一下吧...

2008-12-25

Effective C++ 第三版英文版

英文版我都没看一遍,惭愧啊。相比前一版有大量更新。

2008-11-28

C++ TR1的规范

C++ TR1,估计很多人都用过了,这里是官方说明。

2008-11-28

C++语言2003标准文档

C++2003标准,感兴趣的朋友下载研究一下吧,为C++0X的到来做准备:)

2008-09-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除