没有躲过的坑--重定义关键字

标签: c++
2927人阅读 评论(1) 收藏 举报
分类:

从学习编程语言开始,我们就知道变量或是函数的命名不能使用系统的关键字。

但是有时候,你不得不这么做。

比如mac、ios、Android、windows共用一个底层代码,这样为了使底层更加通用,有时候就会忽略某种语言的某个关键字。

也许关键字A对于win32就是一个系统关键字,而A不是objective-c的关键字。

这个时候为了保证代码的通用性,就需要重定义关键字,也就是所说的屏蔽掉系统关键字。

比如对于win32平台,需要屏蔽系统的某个关键字,你就可以这样做:

#if PLATFORM == WIN32
#undef ERROR
#endif

enum Type {
   CHAT = 0,
   ERROR,
   UNKNOWN,
  };

而上诉代码的第一行,使用的是预编译头。这样就很好的屏蔽了系统的关键字ERROR,而ERROR成为了你定义的枚举类型。

6
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3709985次
    • 积分:34187
    • 等级:
    • 排名:第136名
    • 原创:520篇
    • 转载:28篇
    • 译文:13篇
    • 评论:703条
    微信公众号
      我的微信公众号
      为你推荐最新的博文~更有惊喜等着你
    头条号
      我的头条号
      为你推荐最新的博文~更有惊喜等着你
    时光荏苒
      白驹过隙
    博客专栏
    文章分类
    百度统计
    Google Analytics