这篇文章将讲述__cplusplus这个宏的用法。这个宏经常和预处理指令搭配使用。

下面描述一个场景:同一份代码,既可以让C编译器编译并且C++编译器也可编译通过。如何实现呢?


(1)实现手段:__cplusplus

#ifdef __cpluscplus
...//C++代码
#else
...//C代码
#endif


(2)测试代码

1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
int a = 10;
int b = 20;

#ifdef __cplusplus
cout << a << " " << b << endl;
#else
printf("a = %d, b = %d\n", a, b);
#endif
return 0;
}

(3)C编译器

在这里插入图片描述
在这里插入图片描述


(4)C++编译器

在这里插入图片描述
在这里插入图片描述