几个常用道的macro

1、macro
 (1)#error msg指令使編譯器停止執行並打印一條語句,
 (2)printf("%d,%s",_LINE_,_FILE_)打印當前行號和文件名
 (3)#pragma arg設置了編譯器所使用的條件.
 (4)#str將字符串放入被引號括起來的字符串中,如:
 #define pr(s) puts(#s)
 pr(hello world);->puts("hello world");
 (5)將兩段文字拼接在一起,如:
 #define call(verb,adj,do) verb##_##adj(do)
 call(shrink, all, trees);->shrink_all(trees);
 #define SIGNAL(x) "SIGNAL:" #x
 SIGNAL(finishedParsing()) 
2、給結構賦初值
 struct AAA
 {
  AAA():a(10){}
  int a;
  int b;
 };
3、使用macro批定義變量
#define STR_EACH_DECLARE(macro)/
 macro(age)/
 macro(name)
#define STR_DECLARE(name) char name ## Str;
STR_EACH_DECLARE(STR_DECLARE)
void main()
{
 int a=1;
 nameStr='a';
 ageStr='b';
}
4、定位參數
5、指針和常量
const type *
type const *
type * const
6、友元函數和友元類
7、拷貝構造函數和賦值語句
8、#pragma once 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值