EffictiveC++笔记之用const、enum、inline替换define
来源:互联网 发布:淘宝评价怎么写50字 编辑:程序博客网 时间:2024/06/05 12:39
#define MagicNum 3.1415,会让你再查找错误的时候浪费太多时间,因为编译器只会给出magic number的错误,而不会给出MagicNum。因为预编译只是将内容原封不动的展开,并没有在记号表中记录,所以编译器根本不知道这个东西。
在定义class时,将static的数据定义在类内,可以直接给一个值,也可以在其他地方为其初始化。有的编译器不支持在类内部为静态成员赋值,因为如果给他赋值,那么就必须为他分配一个空间,所以在类外部初始化静态数据是通用的。
enum hack技术:在编译器允许在类内为静态数据初始化时,而一个数组成员却依靠这个静态成员来初始化
class myclass
{
private:static const int i;
int arrayint[i];
}
这种情况下就可以用enum hack
用一个语句:enum{i=5}; int arrayint[i];
编译器并不为匿名的枚举分配一个空间,i只不过是5的一个记号,没有实例。这样也同样防止了有一个指针通过指向i而对数组的初始化大小进行干预
- EffictiveC++笔记之用const、enum、inline替换define
- const,enum,inline替换#define
- 尽量不要使用#define,而是用const、enum、inline替换。
- 尽量不要使用#define,而是用const、enum、inline替换。
- 尽量不要使用#define,而是用const、enum、inline替换。
- Effective C++ (用 const enum inline 替换#define)
- 尽量不要使用#define,而是用const、enum、inline替换。
- 尽量以const、enum、inline替换#define
- 尽量以const,enum,inline替换#define
- 尽量以const,enum,inline替换#define
- 尽量以const、enum、inline替换#define
- 尽量以const,enum,inline替换#define
- 条款02:尽量以const,enum,inline替换#define(Prefer const,enum,inline to #define)
- 改善C++ 程序的150个建议学习之建议25:尽量用const、enum、inline替换#define
- Effective C++ 02 尽量以const, enum, inline替换#define 笔记
- [转]Effective C++ 02 尽量以const, enum, inline替换#define 笔记
- Effective c++ 笔记二—尽量以const ,enum,inline替换#define
- 《Effective C++》学习笔记条款02 尽量以const,enum,inline替换#define
- 【转】灵格斯词霸怎样在 PDF 文档中取词?
- SQL 2005 with(nolock)详解
- pku acm 1065
- 世界上唯一的七星级宾馆
- MTK进阶——TASK创建及使用
- EffictiveC++笔记之用const、enum、inline替换define
- 关于strong name
- svn external 目录和文件
- 使用 libevent 和 libev 提高网络应用性能
- 浏览器快捷键
- 跨平台Socket封装
- 静态库动态库的配置使用
- jquery.validate 客户端验证“必填”“URL”“最小最小长度”“最大最小值”“数字”“身份证”“信用卡”“邮编”等
- 2011-09-21