条款2:尽量以CONST,ENUM,INLINE替换#DEFINE

类中定义常量:static const int numturns = 5;

这是声明式而非定义式。若不需取它们的地址,无须提供定义式。定义式如下:

const int GamePlayer::NumTurns;



一个class需要常量值,定义如下:

enum{NumTurns = 5};

int scores[NumTurns];



关于“形似函数的宏,最好改用inline函数替换#defines”

但,经验证明。宏的速度要比用inline的方法快。

在一些对速度要求非常严格的项目中,这个方面还是要有所取舍的。

posted on 2009-12-21 00:18 蜜蜂 阅读(182) 评论(1)  编辑 收藏 引用 所属分类: EFFECTIVE C++

评论

# re: 条款2:尽量以CONST,ENUM,INLINE替换#DEFINE 2009-12-22 14:30 Sunshine Alike

关于第一条,可否解释一下原委
总觉得声明之后还要在类外再定义一次 这种写法缺少美感~  回复  更多评论   


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


<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

留言簿

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜