define的多行定义可以简化代码

在开发当中,我们可能会大量的写一些重复的,甚至具有“危险”的代码,用宏定义#define,往往可以简化代码。

define可以替代多行的代码,例如MFC中的宏定义(非常的经典,虽然让人看了恶心)

#define MACRO(arg1, arg2) do { \
/* declarations */ \
stmt1; \
stmt2; \
/* ... */ \
} while(0) /* (no trailing ; ) */

关键是要在每一个换行的时候加上一个"\"


使用例子:

#include <string>
#include <string.h>
#include <iostream>
using namespace std;
#define mydefine(arg1,arg2,...) do {  \
	printf("Hello");\
	printf("World");\
	printf(arg1);\
	printf(arg2);\
}while(0)

int main()
{
	mydefine(" I ","am");	
	return 0;
}


Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐