首页 > 其他分享 >关于头文件包含这件事(新手教程,神犇勿进)

关于头文件包含这件事(新手教程,神犇勿进)

时间:2024-07-01 22:28:02浏览次数:3  
标签:头文件 定义 int 万能 C++ 勿进 include 神犇

一、如何包含头文件?

#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

相关文章

  • C++11 标准库头文件模拟实现
    系列文章目录文章目录系列文章目录前言●智能指针模板●Vector1.简单版本2.X总结前言暂不考虑支持多线程常用STL的简单实现,主要内容百行左右完成,意在理解STL的原理●智能指针模板SharedPtr#include<assert.h>#include<atomic>template<classT......
  • C++ 面向对象高级开发 2、头文件与类的声明
       ObjectBased(基于对象)vs ObjectOriented(面向对象)ObjectBased:面对的是单一class的设计ObjectOriented:面对的是多重classes的设计,classes和classes之间的关系。         模板就是一种抽象......
  • 「C系列」C 头文件及引发方法/操作
    文章目录一、C头文件二、引用头文件的方法1.使用尖括号`<>`引用标准库头文件2.使用双引号`""`引用用户自定义头文件三、引用头文件的操作四、相关链接一、C头文件在C语言中,头文件(HeaderFiles)通常用于包含函数声明、宏定义、类型定义等,这些定义可以被多个......
  • c++万能头文件
    一、问题出现c/C++使用首先就是要开头头文件的引用,没有写头文件的程序基本都不会成功运行得到想要的结果,因为每个程序基本都避免不了一定的输入与输出,而输入与输出却在头文件#include/#include<stdio.h>中大量的库函数扑面而来,随之产生了一个很令人头疼的问题,每一种类型的函......
  • c++防止头文件重复
    在C++的头文件中,为了防止重复包含,需要使用预处理指令#pragmaonce或者传统的条件编译方式。下面分别详细说明这两种方式的写法及作用:#pragmaonce使用#pragmaonce指令:#pragmaonce是一种简便的方式,可以确保头文件只被编译一次。在头文件的开头加入#pragmaonce即可,示例......
  • 汇编:头文件
    汇编头文件(headerfiles)在汇编语言编程中类似于高层语言中的头文件,它们通常包含宏定义、常量定义、数据结构定义、函数声明以及其他在多个汇编源文件中共享的代码;使用头文件可以提高代码的可维护性和可读性,并使代码更加模块化,最常见的汇编头文件扩展名.inc,表示包含文件(include......
  • Keil一键添加.c文件和头文件路径脚本--可遍历添加整个文件夹
    最近想移植个LVGL玩玩,发现文件实在是太多了,加的手疼都没搞完,实在不想搞了就去找脚本和工具,基本没找到一个。。。。。。主要是自己也懒得去研究写脚本,偶然搜到了一个博主写的脚本,原博客地址:https://blog.csdn.net/riyue2044/article/details/139424599但是有以下问题:1.这个脚本......
  • c++入门笔记——头文件
    【头文件】c++中,一个程序开头必有头文件。头文件有许多个,它们的关系是并列的。<algorithm>:包含STL通用算法。<bitset>:包含bitset类模板。<cassert>:包含断言宏,如assert。<cctype>:包含字符处理函数。<cerrno>:定义错误码变量errno。<cfenv>:提供有关浮点环境的操作。......
  • macOS下使用bits/stdc++.h万能头文件
     macOS下使用bits/stdc++.h万能头文件1.终端中输入echo|g++-v-xc++-E-#include<...>searchstartshere:/usr/local/include/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/Library/Developer/CommandLineTools/usr/lib/clang/12.......
  • 库函数和头文件
    库函数C/C++标准中规定的,编译器自带的函数,不用自己再去单独写实现这一功能的函数。如下面的头文件中,cmath就是数学库函数,可以实现求平方根,绝对值等等功能。#include<cmath>头文件C++编译器提供许多头文件,头文件内部包含了对于库函数的声明以及其他信息,如cin,cout的定义:#i......