当前位置: 首页 > news >正文

C++中的万能头文件

目录

  • 一、什么是万能头文件?
  • 二、源码
  • 三、编译器找不到 `bits/stdc++.h`

一、什么是万能头文件?

C++的万能头文件是:

#include <bits/stdc++.h>

它是一个包含了每一个标准库的头文件。

优点:

  • 在算法竞赛中节约时间;
  • 减少了编写所有必要头文件的工作量。

缺点:

  • 不是GNU C++库的标准头文件,在部分情况下会编译失败;
  • 包含了很多不必要的东西,会大大增加编译时间。

二、源码

⚠️ 这里去除了多余的注释,并删除了 cstdalign

// C
#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 <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

三、编译器找不到 bits/stdc++.h

最简单粗暴的做法就是,首先找到 <iostream> 这个头文件所在的目录,进入该目录,创建名为 bits 的文件夹,再进入该文件夹,创建一个名为 stdc++.h 的文件,把上述源码复制进去即可。

http://www.lryc.cn/news/2459.html

相关文章:

  • Java 8 Lambda 表达式 Stream
  • 【VictoriaMetrics】VictoriaMetrics单机版部署(二进制版)
  • SCI论文阅读-使用基于图像的机器学习模型对FTIR光谱进行功能组识别
  • 双11大型互动游戏“喵果总动员” 质量保障方案总结
  • 剑指Offer专项突击版题解一
  • Django框架之模型
  • OSACN-Net:使用深度学习和Gabor心电图信号谱图进行睡眠呼吸暂停分类
  • 使用开源实时监控系统 HertzBeat 5分钟搞定 Mysql 数据库监控告警
  • 插件 sortablejs:HTML元素可拖动排序
  • libVLC 视频裁剪
  • LAMP架构介绍及配置
  • Android图形显示流程简介
  • 4.5.3 ArrayList
  • 十二、Linux文件 - fseek函数讲解
  • Python3.10新特性之match语句示例详解
  • 虎牙盈利能力得到改善,但监管风险对其收入产生负面影响
  • HBase 分布式搭建
  • 【Python】修改枚举的取值及链式调用
  • 复现篇--zi2zi
  • 153、【动态规划】leetcode ——416. 分割等和子集:滚动数组(C++版本)
  • linux head命令(head指令)(获取文件或管道输出结果前n行,默认前10行)与sed命令区别
  • Mysql数据库09——分组聚合函数
  • 第43章 菜单实体及其约束规则的定义实现
  • OpenAI最重要的模型【CLIP】
  • 分享112个JS菜单导航,总有一款适合您
  • MySQL 3:MySQL数据库基本操作 DQL
  • sql语句的优化
  • Shell脚本之——自动安装JDK
  • 大数据---Hadoop安装Hadoop简易版
  • Spring框架中使用到的设计模式以及对应的类(方法)