几个常用到的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
[轉]几个常用到的macro 宏
未經允許不得轉載:GoMCU » [轉]几个常用到的macro 宏