#ifndef谁能详细解说下?
答案:4 悬赏:50 手机版
解决时间 2021-03-06 03:05
- 提问者网友:刺鸟
- 2021-03-05 15:02
#ifndef谁能详细解说下?
最佳答案
- 五星知识达人网友:等灯
- 2021-03-05 16:10
#include
// a header file utility.h
#ifndef UTILITY
#define UTILITY
int fibonacci(int x);
#endif
// you can include this header file twice or more
#ifndef UTILITY
#define UTILITY
int fibonacci(int x);
#endif
int main()
{
int n;
std::cin >> n;
std::cout << fibonacci(n) << std::endl;;
return 0;
}
// the code of fibonacci function may probably be in utility.cpp
int fibonacci(int x)
{
if (x == 0) {
return 0;
} else if (x == 1) {
return 1;
} else {
return fibonacci(x - 2) + fibonacci(x - 1);
}
}他们说的基本都是对的,这样做可以防止重复引入头文件,如代码中的第二段引入的fibonacci函数的声明就跳过了,因为UTILITY已经被define了。我这里给了一个例子,你可以试一试。不明白再解释。
通常文件结构是不在一起的,如这个例子,可以分为:main.cpp,utility.h,utility.cpp。
// a header file utility.h
#ifndef UTILITY
#define UTILITY
int fibonacci(int x);
#endif
// you can include this header file twice or more
#ifndef UTILITY
#define UTILITY
int fibonacci(int x);
#endif
int main()
{
int n;
std::cin >> n;
std::cout << fibonacci(n) << std::endl;;
return 0;
}
// the code of fibonacci function may probably be in utility.cpp
int fibonacci(int x)
{
if (x == 0) {
return 0;
} else if (x == 1) {
return 1;
} else {
return fibonacci(x - 2) + fibonacci(x - 1);
}
}他们说的基本都是对的,这样做可以防止重复引入头文件,如代码中的第二段引入的fibonacci函数的声明就跳过了,因为UTILITY已经被define了。我这里给了一个例子,你可以试一试。不明白再解释。
通常文件结构是不在一起的,如这个例子,可以分为:main.cpp,utility.h,utility.cpp。
全部回答
- 1楼网友:动情书生
- 2021-03-05 18:15
最常见的用法是防止重复编译同一个头文件……
- 2楼网友:往事埋风中
- 2021-03-05 17:29
其实百科里已经说的很详细了。
就是判断某个宏是否已经被定义过了。
#ifndef 和 #endif 是成对出现的
一般是:
#ifndef XXXXX
#define XXXXX //这里也可以是别的语句,比如报错处理等
#endif
可以通俗理解为:
#如果没有定义 XXXXX
#则定义 XXXXX
#结束
就是判断某个宏是否已经被定义过了。
#ifndef 和 #endif 是成对出现的
一般是:
#ifndef XXXXX
#define XXXXX //这里也可以是别的语句,比如报错处理等
#endif
可以通俗理解为:
#如果没有定义 XXXXX
#则定义 XXXXX
#结束
- 3楼网友:街头电车
- 2021-03-05 17:21
#ifndef __HEAD__ 意思就是如果没有定义__HEAD__ 的宏
#define __HEAD__
代码区。。。
#endif
//常用的地方是防止头文件被重复引用 第一次引用头文件进入#ifndef __HEAD__ ,没有定义__HEAD__ 宏 然后进入#define __HEAD__ ,下次再引用就定义了__HEAD__
#define __HEAD__
代码区。。。
#endif
//常用的地方是防止头文件被重复引用 第一次引用头文件进入#ifndef __HEAD__ ,没有定义__HEAD__ 宏 然后进入#define __HEAD__ ,下次再引用就定义了__HEAD__
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯