Robin Chow's C++ Blog
[导入]Exception C++ 之 8
类的设计准则:
尽量重复运用代码,特别是标准库。这样不但比较快,也比较容易,比较安全。
小心隐式转换所带来的隐式临时对象。避免这东西的一个好办法就是尽可能让 constructors 称为 explicit,并且避免写出转换运算子。
尽量以 by const&(而非 by value)的方式来传递物件。
尽量写“a op = b;”而不要写成“a = a op b;”(其中 op 代表任何运算子)。这样不但比较清楚,通常也比较有效率。
如果提供了某个运算子的标准版(例如 operator+),同时也应该为它提供一份 assignment 版(例如 operator+=)并且以后者为基础来实现前者。同时总是保存 op 和 op= 之间的自然关系(其中 op 代表任何运算子)。
使用一下准则来决定一个运算子应该是 member function 或应该是个 nonmember function:
一元运算子应该是 members。
= () [] 和 -> 必须是members。
assignment 版的运算子(+= -= /= *= 等等)都必须是members。
其他所有二元运算子都应该是 nonmembers。
总是在 operator<< 和 operator>> 函数中传回 stream references。
为了一致性,应该总是以前置式累加运算符为本,实现出后置式累加运算符。
不要在变量名前面加上下划线,因为标准规个书中保留了某些“下划线”开头的识别符号给编译器使用。
文章来源:
http://my.donews.com/robinchow/2007/01/11/jabxiufnsuhdoddxaufbdnewyegsorjxrkua/
posted on 2007-10-23 20:49
Robin Chow
阅读(75)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
导航
C++博客
首页
新随笔
联系
聚合
管理
统计
随笔 - 82
文章 - 0
评论 - 0
引用 - 0
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
C++(1)
(rss)
Linux
(rss)
Ubuntu
(rss)
Windows
(rss)
随笔档案
2007年10月 (81)
2007年1月 (1)
搜索
最新评论
阅读排行榜
1. [导入]理解Linux配置文件(428)
2. [导入]Convert from string to int(372)
3. [导入]我为什么不想成为 VC 程序员(303)
4. [导入]DLL(Dynamic Link Libraries)专题(252)
5. [导入]Exceptional C++ 之 5(232)
评论排行榜
1. 虚拟函数和重载(0)
2. [导入]C#学习系列之接口(0)
3. [导入]C#学习系列之继承(0)
4. [导入]C#学习系列之事件和索引指示器(0)
5. [导入]C#学习系列之域和属性(0)
Powered by:
C++博客
Copyright © Robin Chow