Robin Chow's C++ Blog

 

[导入]Exception C++ 之 8

类的设计准则:
  1. 尽量重复运用代码,特别是标准库。这样不但比较快,也比较容易,比较安全。
  2. 小心隐式转换所带来的隐式临时对象。避免这东西的一个好办法就是尽可能让 constructors 称为 explicit,并且避免写出转换运算子。
  3. 尽量以 by const&(而非 by value)的方式来传递物件。
  4. 尽量写“a op = b;”而不要写成“a = a op b;”(其中 op 代表任何运算子)。这样不但比较清楚,通常也比较有效率。
  5. 如果提供了某个运算子的标准版(例如 operator+),同时也应该为它提供一份 assignment 版(例如 operator+=)并且以后者为基础来实现前者。同时总是保存 op 和 op= 之间的自然关系(其中 op 代表任何运算子)。
  6. 使用一下准则来决定一个运算子应该是 member function 或应该是个 nonmember function:
    • 一元运算子应该是 members。
    • = () [] 和 -> 必须是members。
    • assignment 版的运算子(+= -= /= *= 等等)都必须是members。
    • 其他所有二元运算子都应该是 nonmembers。
  7. 总是在 operator<< 和 operator>> 函数中传回 stream references。
  8. 为了一致性,应该总是以前置式累加运算符为本,实现出后置式累加运算符。
  9. 不要在变量名前面加上下划线,因为标准规个书中保留了某些“下划线”开头的识别符号给编译器使用。

文章来源:http://my.donews.com/robinchow/2007/01/11/jabxiufnsuhdoddxaufbdnewyegsorjxrkua/

posted on 2007-10-23 20:49 Robin Chow 阅读(75) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜