一、如何包含头文件?
#include<头文件名>
在头文件名这里写入头文件就好了。
二、万能头文件是什么?
万能头文件的样子长这样:bits/stdc++.h
顾名思义,万能头文件就是你包含了这个头文件之后就不用包含其他头文件,例如,在以下程序中:
#include<iostream>
#include<queue>
#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<map>
#include<string.h>
…………
…………
…………
…………
…………
…………
我们就需要一大大大大坨头文件,但我们只需要:
#include<bits/stdc++.h>
…………
…………
…………
…………
…………
…………
一个即可搞定。
三、万能头文件如何实现的?
这就要涉及到头文件的定义了。(对,你没听错,听起来高大上的头文件还可以自己定义)
这里拿DEV-C++为例:(如果没有可以转到:DEV-C++下载及使用保姆级指南-CSDN博客,这也是我的另一篇博客)
在DEV-C++界面的左上角找到文件,点击后找到新建,点击新建,点击项目
新建后在左侧边栏项目管理中右键刚刚新建的项目,点击“New File”
点击后会出现一个程序编辑框,点击上方的编译运行
弹出保存对话框后,将头文件命名为你想要的名字,例如“小明”,然后在点击保存类型下拉栏中的“header”文件类型,然后点击保存
关闭弹出来的对话框,你就可以在这里面定义头文件
一般格式为:
#ifndef XXXXXX_H
#define XXXXXX_H
#endif
上述代码XXXX部分就是头文件名,用大写的英文字母。
在中间可以自定义函数,例如:
#include<bits/stdc++.h>
using namespace std;
#ifndef ZZ_H
#define ZZ_H
int maxn(int a,int b,int c)//实际作用为找出三数中最大
{
return max(max(a,b),c);
}
int midn(int a,int b,int c)//实际作用为找出三数中中间大小
{
return min(max(a,b),c);
}
int minn(int a,int b,int c)//实际作用为找出三数中最小
{
return min(min(a,b),c);
}
#endif
由上述代码可以得出,在你定义头文件时也可以在程序中引入其他头文件,例如万能头文件,其他C++自带头文件等。
同时也可以使用标准命名空间,这些代码需放在最前面。
#ifndef是用来判断这个头文件是否已经编译,提高效率。
#define是宏定义,在我的另一篇博客里有解释,这里不多赘述。
#endif是结束标志
在上述代码中,我定义了三个函数在zz.h头文件里,它们可以被实际使用
#include<bits/stdc++.h>
#include"zz.h"
using namespace std;
int main()
{
cout<<maxn(5,9,2)<<endl<<midn(5,9,2)<<endl<<minn(5,9,2);
return 0;
}
这段程序的执行结果将会是
2
5
9
好了,现在回到万能头文件的定义,你猜到它是怎么定义的吗?
万能头文件其实就是在定义时定义了所有头文件
#ifndef _GLIBCXX_NO_ASSERT
#include <cassert>
#endif
#include <cctype>
#include <cerrno>
#include <cfloat>
#include <ciso646>
#include <climits>
#include <clocale>
#include <cmath>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#if __cplusplus >= 201103L
#include <ccomplex>
#include <cfenv>
#include <cinttypes>
#include <cstdalign>
#include <cstdbool>
#include <cstdint>
#include <ctgmath>
#include <cwchar>
#include <cwctype>
#endif
// C++
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#if __cplusplus >= 201103L
#include <array>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <scoped_allocator>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#endif
需要注意的是,万能头文件定义了多次,是为了方便不同类型的C++语言,例如C++98和C++14,其中的判断条件也有些不同,这里不细讲。
点赞,收藏,关注,求求啦!!!!
如有疑问,私信作者,周末统一回复。
如有发现博客出现错误,敬请见谅(个人能力有限),私信作者,不胜感激!!
标签:头文件,定义,int,万能,C++,勿进,include,神犇 From: https://blog.csdn.net/zzq110810/article/details/140109494