const 与 #define 的比较

来源:王朝搜索
 
const 与 #define 的比较

相信只要看过有关C++优化的动物都知道,那些优化条款中总会提到: 用 const 来代替 #define,我一直以来也是这么做,并且很少怀疑过,但今天却发现了一个 const 的不足之处:

多用const 尽量不使用#define

昨天晚上在debug别人的一个程序的时候,发现一个问题数据老不对。我是从算法上考虑的。想了半天也想不出有什么不对的地方。 今天早上发现了这样一条语句: p= p/PAN_PERUNIT; 这个时候我突

尽量用const和inline而不用#define(摘自effective C++)

这个条款最好称为:“尽量用编译器而不用预处理”,因为#define经常被认为好象不是语言本身的一部分。这是问题之一。再看下面的语句: #define ASPECT_RATI

Flash也支持#define预处理

看到as3在flex b2下已经有了支持预处理的工具...eclipse的框架就是这点好~~ 其实Mike Chambers 早在去年差不多这个时候就提出来了....方法还是蛮巧妙的,说bt比较

#define _WIN32_WINNT 0x0500

#define _WIN32_WINNT 0x0500 今天写一个函数,用到CoCreateInstanceEx,编译的时候总是为未定义, 明明已经加头文件了,真是怒了, 用vc也不是一两天了,不会

C++中巧用#define访问类的私有成员

我们知道,类的私有成员在类的外部是不能被访问的。 例如有下面的这个简单的类: class ClxECS { private: int iPrivate; }; 那么下面

解释宏的功能 #define macro1(t, m) ((int)(void*)&(t *)0->m)

看到有一帖子,看大家热闹非凡,也来凑把热闹。 具体问题是说这个宏的功能是什么,#define macro1(t, m) ((int)(void*)&(t *)0->m)。

C&C++中,typedef与#define

一、typedef的用法 ____在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: typedef int

Flash也支持#define预处理

看到as3在flexb2下已经有了支持预处理的工具...eclipse的框架就是这点好~~ 其实MikeChambers早在去年差不多这个时候就提出来了....方法还是蛮巧妙的,说bt比较适合

C++中巧用#define访问类的私有成员

我们知道,类的私有成员在类的外部是不能被访问的。 例如有下面的这个简单的类: class ClxECS { private: int iPrivate; }; 那么下面的

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有