无我

让内心永远燃烧着伟大的光明的精神之火!
灵活的思考,严谨的实现
豪迈的气魄、顽强的意志和周全的思考

sizeof和预处理指令

我们知道,sizeof是在编译期就完成了计算,在运行时已经是一个常数值了。那sizeof能用在类似于#if这样的指令中吗?

答案一般是不行。

 

关于预编译条件MSDN明确写着: The expression cannot use sizeof or a type-cast operator.

其实,像#include,#if,#define等等这样的是在预处理过程就完成了包含和替换,所以他们是预处理指令。而此时还没有到编译期,还没有类型名称分析,sizeof也就不能用。

 

编译期完成的工作除了sizeof以外,我们还关注的就是模板的具现等。

posted on 2012-04-20 17:05 Tim 阅读(940) 评论(0)  编辑 收藏 引用 所属分类: C/C++语言


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


<2014年5月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

公告

本博客原创文章,欢迎转载和交流。不过请注明以下信息:
作者:TimWu
邮箱:timfly@yeah.net
来源:www.cppblog.com/Tim
感谢您对我的支持!

留言簿(9)

随笔分类(173)

IT

Life

搜索

积分与排名

最新随笔

最新评论

阅读排行榜