简单介绍了C++头文件声明与C语言的差异,并对常见的部分头文件作了介绍。

//C++中常用写法

最简单的C++程序往往是上面这样声明头文件。

#include为C/C++中包含头文件命令,用于将指定头文件嵌入源文件中。#include一般用在C、C++等语系的编译环境(编程软件的编程代码)中,也即告诉你,在这个地方要插入一堆代码,而这堆代码在另一个文件里。

iostream是C++的一个头文件库,在安装C++环境的时候就已安装于电脑中,只需要用include将该它包含进来,就可以使用它的代码。

C++已把标准C++库的组件放在一个名位std的namespace里面中,如果include头文件的时候加上.h,默认有using namespace,否则需要自己加上 using namespace std。

因此若没有第二行语句,cout就会没有定义,除非使用cout时写成 std :: cout,即指明其来自空间std 。

按照C语言规则声明则是下面这样:

#include < iostream. h >    //引用头文件,不需要声明名字空间

不加.h的是现在C++中规定的标准,目的在于使C++代码用于移植和混合嵌入时不受扩展名.h的限制,避免因为.h而造成的额外的处理和修改。而加.h是c语言的用法,但是在c++中也支持这种用法,主要是为了向下兼容c 的内容,平时尽量不用这种方法 。

在C++程序中,头文件不再以“ .h”结尾,一些在C语言中常用的头文件在C++中的名字变为去掉“ .h”,并在开头增加字符 c 。例如:

#include < cstdio >   //标准化后经过改造的C标准库,所有的组件都放在了std中
#include < cstring >  //C++标准库下,基于char* 的字符处理函数库
#include < string >   //增加了C++类的字符处理函数库
#include < cstdlib >
#include < bits/stdc++.h>  //号称万能库,在大部分情况下使用这一行就可以省去其他库的生声明

<stdio.h>是以往C和C++的头文件,<cstdio>是标准C++(STL)函数库中的头文件,且cstdio中的函数都定义在一个名称空间std里面,如果要调用这个名字空间的函数,须加“std :: ”或者在文件中声明using namespace std。

<string.h>是标准C提供的字符处理函数集。面向char *.。<cstring>是C++为兼容C提供的<string.h>的C++版本,里面的主要改进有:将一些隐藏变量编入命名空间;修正一些C++编译器认为Bug的代码。

<stdlib.h>可以提供一些函数与符号常量,<cstdlib>是C++为兼容C提供的版本。

提供以下类型:

size_t, wchar_t, div_t, ldiv_t, lldiv_t。

提供以下常量:

NULL, EXIT_FAILURE, EXIT_SUCCESS, RAND_MAX, MB_CUR_MAX

提供以下函数:

atof, atoi, atol, strtod, strtof, strtols, strtol, strtoll, strtoul, strtoull, rand, srand, calloc, free, malloc, realloc, abort, atexit, exit, getenv, system, bsearch, qsort, abs, div, labs, ldiv, llabs, tlldiv, mblen, mbtowc, wctomb, mbstowcs, wcstombs

其他头文件用到再去查即可。

c malloc 头文件_c++个人学习笔记——1.头文件声明相关推荐

  1. 文件和存储管理学习笔记-动态磁盘管理

    Server 2008 R2 文件和存储管理学习笔记-动态磁盘管理 基本磁盘是包含基本分区.扩展分区或逻辑驱动器的一种物理磁盘 动态磁盘提供了基本磁盘不提供的一些高级功能,创建无限数量卷.跨越多个磁盘 ...

  2. Keras学习笔记---保存model文件和载入model文件

    Keras学习笔记---保存model文件和载入model文件 保存keras的model文件和载入keras文件的方法有很多.现在分别列出,以便后面查询. keras中的模型主要包括model和we ...

  3. C++学习笔记之对文件的操作2

    转载自** https://www.cnblogs.com/uniqueliu/archive/2011/08/03/2126680.html ** 什么都不说了,继续<C++学习笔记之对文件的 ...

  4. linux系统管理学习笔记之八---linux文件与目录的管理及权限

    linux系统管理学习笔记之八---linux文件与目录的管理及权限 2010-01-05 09:00:49 标签:权限 管理 文件目录 linx [推送到技术圈] 版权声明:原创作品,允许转载,转载 ...

  5. Git 学习笔记 ignore 忽略文件

    Git 学习笔记 ignore .gitignore 文件 添加目标到 gitignore IDEA 中初始化 Git 仓库 问题 1. 无法添加到 gitignore (手动添加也没效果) 2. 文 ...

  6. Python学习笔记D9(文件)

    Python学习笔记D9(文件) 文件 1.打开文件 open(file, mode='r') 接收两个参数:文件名(file)和模式(mode),用于打开一个文件,并返回文件对象,如果该文件无法被打 ...

  7. Linux_红帽8学习笔记分享_3(文件操作管理)

    Linux_红帽8学习笔记分享_3(文件操作管理) 文章目录 Linux_红帽8学习笔记分享_3(文件操作管理) 1.Vi编辑器 1.1两种模式 1.2十种技巧 2.用户的家目录 2.1 su命令的使 ...

  8. Linux 压缩、解压缩和文件切割的学习笔记

    目录 Linux 压缩.解压缩和文件切割的学习笔记 单文件的压缩和解压缩 compress 和 uncompress gzip.gunzip 和 zcat bzip2.bunzip2.bzcat 和 ...

  9. c语言头文件_C语言学习之头文件的原理和使用方法

    头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享.有两种类型的头文件:程序员编写的头文件和编译器自带的头文件. 在程序中要使用头文件,需要使用 C 预处理指令 #i ...

最新文章

  1. python与正则表达式(part1)--元字符
  2. 依赖注入通俗解释_我如何向团队解释依赖注入
  3. Hibernate中把Session和线程绑定的配置
  4. 【LeetCode笔记】85. 最大矩形(Java、单调栈)
  5. ldap基本dn_LDAP 中 DN CN DC OU
  6. List遍历删除元素remove()
  7. 机器学习模型的理解(三)
  8. android style 与theme的区别
  9. mq系列传感器的程序_Cooper Instruments传感器定制解决方案
  10. Servlet(1) Servlet容器和Servlet
  11. 图灵程序设计丛书 精通JavaScript开发pdf
  12. 如何查看class文件内容
  13. 如何利用MATLAB(plot 3函数和fplot3函数)绘制三维曲线?
  14. LC053-最大子序和
  15. 让Win7系统下的硬盘不在狂闪的诀窍
  16. 一篇读懂深度学习中「训练」和「推断」的区别
  17. (BAT批处理)批量文件夹重命名,要求是在原文件夹名前加上英文字母前缀aa
  18. 如何在网页标题左边添加ico图片
  19. 视觉定位系统怎么实现定位及引导贴合的应用?视觉定位系统案例详解
  20. python索引取值_对pandas的层次索引与取值的新方法详解

热门文章

  1. SparkStreaming手动维护Kafka Offset的几种方式
  2. Docker的使用(未完待续)
  3. 增加磁盘,无需reboot
  4. ubuntu下搭建车场环境(代码使用jekins构建)
  5. 右下角出现测试模式 win7 内部版本7601如何去掉
  6. SQL HQL JPQL CQL的对比
  7. JZOJ 1236. 邦德I
  8. 第一章:了解SQL_数据库基础
  9. 细谈最近上线的Vue2.0项目(一)
  10. git 常用指令 -