Chinaunix首页 | 论坛 | 博客
  • 博客访问: 305936
  • 博文数量: 84
  • 博客积分: 5016
  • 博客等级: 大校
  • 技术积分: 900
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-30 20:22
文章分类

全部博文(84)

文章存档

2008年(21)

2007年(63)

我的朋友

分类: C/C++

2007-01-10 20:21:56

 

      还是预处理器的内容,这次说的是利用##来粘合两个元素的功能

      (有人问:你为什么不和其他预处理内容写在一起?

        愚者答曰:不想那么做,所以就不那么做!就不!)

      相较之前二者,该方案容易理解多了。它的功能就是将##前后的两个元素粘合起来。

      例:

         #define  echo(i)  printf("%i \n",ss##i);

         main()

        {int ss7=789,ss8=890,ss9=901;

         echo(7);}    // 这时,程序会将7与宏定义时的ss粘合,成为ss7

         输出: 789 <回车>

      当然,它还可以用得稍微复杂一点,比如,将变量名也显示出来。

      #define  print(xxx)  printf(#xxx"=%i \n",xxx);

      #define  echo(i)  print(ss##i);

      main()

     {int ss7=789,ss8=890,ss9=901;

      echo(7);}      // 7会先与ss粘合,然后执行“自动化方案”。

                                   // 在这里的ss只是一个单纯的名称,与纳粹党卫队完全没有任何瓜葛

      啊……吃饱了容易困……困了就想抽烟……抽完就更想睡觉了……

 

注:

   关于纳粹党:

     1939年,查理·卓别林和他邪恶的纳粹党奴役了欧洲并企图统治全世界,而最终被联合国维和部队所消灭

——引自《蠢蛋进化论》

阅读(898) | 评论(0) | 转发(0) |
0

上一篇:预处理器

下一篇:今天作了一个梦

给主人留下些什么吧!~~