C++定义宏
- C++的宏非常有用,特别是在日志系统这种地方。
- 宏在预编译阶段使用,可以替换代码中任意的东西。
- 宏非常有用,但是不要过度使用他们,因为这可能会让别人看不懂你的代码。
下面是几个宏使用的例子:
#include <iostream>
// 定义一个宏
#define WAIT std::cin.get()
int main()
{
WAIT;
}
#include <iostream>
// 定义一个宏
#define LOG(x) std::cout << x << std::endl
int main()
{
LOG("Xwp is handsome");
}
这个就牛了,可以指定一些代码不参与编译
当我#define PR_DEBUG 1
时:即代表LOG(x)
这段宏有效,然后会输出信息;
当我#define PR_DEBUG 0
时:即LOG(x)
这段宏无意义,不会输出信息。
#define PR_DEBUG 0
#if PR_DEBUG == 1
#define LOG(x) std::cout << x << std::endl
#else
#define LOG(x)
#endif
int main()
{
LOG("xwp is handsome");
LOG(8);
}
另外,宏的定义必须在一行,如果想要换行写的话,需要使用\
#include <iostream>
#define MAIN int main() \
{
\
std::cout << 3 << std::endl;\
}
MAIN