一般情况下老师在教授c/c++课程时,都会讲到其中的头文件的作用,没有写头文件的程序基本都不会成功运行得到想要的结果,因为每个程序基本都避免不了一定的输入与输出,而输入与输出却在头文件#include/#include中。

在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件和定义文件组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。

在以后更深层次的学习中,会发现c++背后有一个很强大的库,里面藏着我们需要的应有尽有的一些便捷函数,大量的库函数扑面而来,随之产生了一个很令人头疼的问题,每一种类型的函数的使用都需要有一个头文件作为前提,函数名和用法背半天先不说,还要记头文件,瞬间哭晕在厕所!

那有没有一个万能的头文件可以解决这一切的烦恼?

1、万能头文件

就是它,是不是很眼熟,似曾相识在以前别人的哪里的博客题解中看到过,当你在你的程序前面写下这行头文件,简直开挂人生有没有?

目前这个万能头文件包括了c++中所有的头文件:

……

从此再也不用记上面这些种种的头文件!

但是,鉴于老师教学时不讲这个万能头文件,还是有原因的,用到哪里的函数你可以清晰地知道它是在哪个头文件中包括的,对学习时捋清知识点是有必要的

2、优点与缺点

优点如下:

1.在竞赛中节约时间

2.减少了编写所有必要头文件的工作量

3.对于使用的每个函数,不用记住GNU C++的所有STL

缺点如下:

1.不属于GNU C++库的标准头文件,在部分情况下可能会失败

2.使用它将包含许多不必要的东西,并增加编译时间

3.这个头文件不是C++标准的一部分,因此是不可移植的,应该避免

4.编译器每次编译翻译单元时都必须实际读取和分析每个包含的头文件,应该减少这类头文件的使用

3、兼容性问题

目前POJ还不支持(G++、C++都不支持)。HDU部分支持(G++支持,C++不支持)。

其他国外的oj,还有台湾地区的oj都支持,CF,Topcoder也都支持。

当然,其实这是一个偷懒的写法,但是会降低编译速度(为何会降低编译速度,等到以后学编译原理再来填坑吧)。

笔试平台可以使用,方便,VS中并不支持,一般G++ 4.4以上就支持这个头文件了。当然,私下自己学习就不要去使用了,对你的自主学习一点都没有好处。

4、完整代码

dev万能头文件_【C++】Dev-C++的“万能头文件”真的万能吗?相关推荐

  1. application.properties引用其他文件_金橙智能 | C语言头文件组织与包含原则,你知道吗?...

    点击蓝字 关注我们 同学们知道C语言中头文件的组织与包含原则吗?如果你还不知道,那么小橙来给你讲解一下,希望同学可以认真学习. 头文件的作用 程序执行在预处理阶段,编译器会把源文件包含的头文件中的内容 ...

  2. linux 环境变量文件_应急响应系列之Linux库文件劫持技术分析,有点硬核哟

    0×01 菜逼阶段 Linux库文件劫持这种案例在今年的9月份遇到过相应的案例,当时的情况是有台服务器不断向个可疑IP发包,尝试建立连接,后续使用杀软杀出木马,重启后该服务器还是不断的发包,使用net ...

  3. ubuntu 终端批量复制文件_《卡死你3000》批量文件复制命令详解

    卡死你3000简介: 名词解释: 批量顺序复制文件:从主控机,到从被控机1,被控机2,复制文件.有卡住问题. 批量并发复制文件:从主控机,到从被控机1,被控机2,复制文件.使用多线程并发,可以控制并发 ...

  4. java调用项目中的文件_详解eclipse项目中.classpath文件的使用

    1 前言 在使用eclipse或者myeclipse进行java项目开发的时候,每个project(工程)下面都会有一个.classpath文件,那么这个文件究竟有什么作用? 2 作用 .classp ...

  5. mysql没有frm文件_【1.1】mysql frm文件丢失(ibd文件丢失)

    [1]故障模拟准备环境 这里以innodb为例 [1.1]配置参数 开启独立表空间 innodb_file_per_table; [1.2]构建测试数据 create databasetest;cre ...

  6. java程序解析perl文件_如何从shell脚本执行perl文件

    我有一个关于如何在shell脚本中执行perl文件的问题 我现在有两个文件,"test.sh"和"test.pl",这里是我的脚本示例 SHELL脚本 #!/b ...

  7. ad19生成gerber文件_在“AD19”中怎样将PCB文件转换为GERBER

    四川自贡是历史悠久的老工业城市,上世纪八.九十年代,自贡的锅炉.泵业.阀门全国闻名,在近年发展中,电子产业也取得可喜的成绩.Altium Designer在设计电子产品中是应用较多的工具,它的版本更新 ...

  8. python博客下载本地文件_解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了...

    1.今天网上下载一个博客项目,发现本地访问,js,css加载不了. 我想应该是项目上线的安全措施,但是我想调试项目.找到方法如下 在settings.py里面编辑 添加 STATICFILES_DIR ...

  9. altium导出钻孔文件_[Altium Designer 学习]怎样输出Gerber文件和钻孔文件

    为了资料保密和传输方便,交给PCB厂商打样的资料一般以Gerber和钻孔文件为主,换句话说,只要有前面说的两种文件,就能制作出你想要的PCB了. 一般来说,交给PCB厂商的Gerber有以下几层: G ...

  10. python history文件_【python之路19】文件操作

    一.打开文件 文件句柄 = open('文件路径', '模式') 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ...

最新文章

  1. 腾讯微博快速有效增加广播转播量的方法与技巧
  2. java oracle行锁,Oracle 出现行锁 错误代码 ora-02049
  3. [luogu2148 SDOI2009] ED (博弈论)
  4. 计算机网络入门指南之计算机网络体系结构
  5. sql server排序慢_SQL 查询调优之 where 条件排序字段以及 limit 使用索引的奥秘
  6. oracle 游标(学校)
  7. 腾讯政务展现近年案例,发布WeCity2.0应对城市增长需求
  8. nginx的学习笔记,第四记。
  9. VMRC开启拷贝粘贴
  10. 《物联网通信》知识提纲-第1章 概述
  11. 计算机用户个人设置总是重启,联想电脑总是自动重启怎么回事
  12. python seek_Python 文件 seek() 方法
  13. 数学笔记10——拉格朗日中值定理
  14. 十一、如何挑选股票?
  15. java学习(二)——类与对象
  16. 计算机组成原理哈工大期末_计算机组成原理(哈工大)——课程知识点总结
  17. 交易订单处理失败,请稍后再试(ali64)
  18. 【Linux】软件安装、仓库搭建、服务器配置
  19. 中英文在线语音转文字的方法
  20. 关注木马是如何免杀的

热门文章

  1. 安卓开发-开发环境搭建
  2. 计算机考试打字软件,书记员考试必备!打字练习软件及电脑练习打字快速提高方法?...
  3. 数据挖掘概念与技术(第三版)课后答案——第一章
  4. 数据挖掘概念与技术(第三版)课后答案——第二章
  5. php ajax 上传视频教程,PHP+Ajax从入门到精通全套视频教程 传智播客Ajax实战教程 共15课...
  6. c语言中x%y什么意思,c语言里%是什么意思?
  7. 联想小新air13装双系统_联想小新Pro 13黑苹果详细安装教程
  8. Windows Phone SDK 7.1 RTM 发布
  9. 第08课:GDB 实用调试技巧( 上)
  10. 从Qt Console Application到Qt GUI Application