- 博客(5)
- 收藏
- 关注
原创 Effective C++之30
条款30:透彻了解inlining的里里外外 对于inline函数来说,并非是一定就好的,我有一个惨痛的教训。在做一个singleton的时候使用了局部静态变量,但在这个时候做了inline,导致了这个局部静态变量在多处出现导致Singleton不唯一。 Inline有好处,inline一般出现在头文件中,表示对编译器的inline申请,但具体是否inline取决于
2007-01-24 11:55:00 687
原创 Effective C++之29
条款29:为“异常安全”而努力是值得的 用过ACE_GUARD么?这是ACE为异常安全做出的努力。但是审视我们的代码,大多数情况下,代码都不是异常安全的。也许异常安全还没有加入到一个非常重视的程度。在传统C风格下,代码并没有异常安全的概念,而现有代码常常有抹不去的C的风格遗留,比如强制类型转换。 言归正传,异常安全的第一次亲密接触是在STL的swap中,对于异常安全
2007-01-24 11:01:00 673
原创 Effective C++之28
条款28:避免返回handles指向对象内部成分 这样的原因是显而易见的。返回handles意味着外界对对象本身产生了依赖,一旦对象超过了生命期,则外界的handles变成了空悬。这意味着内存访问的错误。
2007-01-23 19:21:00 861
原创 WireShark编译心得
WireShark是Ethereal的后续版本,我的编译工作从0.99.4版本开始。编译首先从Linux开始,Linux比较简单。编译前需要安装Glib,GTK等开发包。一般的工具Linux都会有,然后运行configure,接着Make。一般来说,问题不是很大。编译的时候需要用到Perl,Python等脚本语言。可能会遇到问题的地方是SNMP。建议如果不需要就不安转NetSnmp。如果出现S
2007-01-11 02:55:00 3670 5
原创 Effective C++之27
条款27:尽量少做转型动作 转型并不是很好的事情,特别是对象之间的转型。有时候,内置变量的转型往往无法避免,但对象之间的转型是完全可以通过设计来规避的。特别是dynamic_cast是效率很低的转型动作,应该尽量避免。如果特别需要,可以尝试将转型封装起来。
2007-01-04 15:44:00 751
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人