九天雁翎的博客
如果你想在软件业获得成功,就使用你知道的最强大的语言,用它解决你知道的最难的问题,并且等待竞争对手的经理做出自甘平庸的选择。 -- Paul Graham

《Inside C++ Object 》 阅读笔记(3),实践是检验真理的唯一标准

在阅读笔记(2)中,我还以为,按《Inside C++ Object》中文版199面(以后页码都以侯捷中文版为准)示例所描述的那样

“直接以类似={a,b,c}的方式为一个类赋初值。。。这个语法我以前一直以为只能在POD的struct下用。。。结果就算这个类有函数,也照用不误。”

今天的实际测试,证明以前我的认识还是对的,当一个结构中有函数的时候(即不是POD)的时候,列表初始化(explicit initializtion list)不可用,无论是VS2005还是g++都会报错。

就我仔细分析了原文后,感觉可能本来lippman仅仅是描述不清,但是被侯捷翻译后就成了完全的错误了。

阅读全文....

《Inside C++ Object 》 阅读笔记(2),看《Inside C++ Object 》的作用

因为你永远也不可能完全弄清楚C++在你背后做了多少工作,所以你永远都会需要sizeof来帮助你确认你的判断。我从刚开始学C++到现在sizeof是用的不断,直到现在读《Inside C++ Object》还是会碰到。简直是无语。呵呵,用了这么多次的sizeof,少说也是有点经验的:)其实还是用宏的奇技淫巧而已,不推荐广泛使用。 《Inside C++ Object》中文版83面的虚继承问题,在我g++版本上跑的结果是1,4,4,4,在VS2005 SP1版本上跑的结果是1,4,4,8。说明g++在编译器的优化上比MS还是走的远一点。。。。MS的优化总是走一些偷懒的奇怪路线:)实打实的东西又不做。。。。。。。从VC5.0到现在好像还是没有进步。。。。(说的严重了,仅仅是这一点吧)

阅读全文....

《Inside C++ Object 》 阅读笔记(1), NRV(Named Return Value)

书其实看完了,因为实在公司抽中午吃饭剩余时间看的,所以其实一直没有好好的试验一下,现在将书带到家里好好的一个一个将感兴趣的测试一下了。

NRV(Named Return Value)是我阅读《Inside C++ Object》碰到的第一个感兴趣的东西,书上面有Lippman的测试数据和侯捷的测试数据。当然,对于VS的效率一直没有报太大希望,但是不至于这个Lippman所说的编译器的义不容辞的优化都不做吧。可能因为侯捷用的VC5.0实在太老了,于是我自己决定测试一下。

阅读全文....

漫谈C++中的宏

C++宏是把双刃剑:它因无类型检查而危险,但在条件编译、调试和代码生成等高级场景下,又是不可或缺的强大工具。

阅读全文....

小小游戏程序员八个月工作总结

主要是服务器端开发的相关经历,而监控系统也算是直到目前为止,自己负责的最大的一个工作内容了,前后开发周期长达3~4个月,最后的维护几乎持续了半年以上。受益匪浅,这几乎也是我开发独立的服务端程序的绝唱, 后来逐渐的真正融入游戏的开发团队,开始了游戏逻辑服务器的开发,这是后话.

阅读全文....