你对C++头文件了解多少?——盘点C++的常用头文件

2023-11-14

相信大家在编写C/C++程序时,最必不可少的部分之一就是头文件了。然而,由于不同的函数所对应的头文件各不相同,就导致一部分人(尤其是我)写代码的时候常常遇到忘记所需头文件的窘境,为了解决这个问题,今天我特意搜集了C++中常用的头文件及其包含的库函数,希望能帮到大家。(由于篇幅限制,每个头文件我只是简单介绍,想要更详细的用法可以看我附的链接)


1."iostream"  (input&output stream)

#include<iostream>

常见用途

输入流 " cin>> " 和 输出流 " cout<< " ,后面接的数据类型可以是int,float,double,string等,相当方便,推荐使用.

了解更多:

C++头文件iostream详解icon-default.png?t=M4ADhttps://blog.csdn.net/fengbingchun/article/details/63685373?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165452277616782246474464%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165452277616782246474464&biz_id=0&spm=1018.2226.3001.4187


2."stdio.h"  (standard buffered input&output)

#include<stdio.h>

这本来是C语言标准函数库中的头文件,到C++中就变成了 "cstdio" (两者其实差不多).

常见用途

格式化输入 "scanf()" 和格式化输出 "printf()" ,功能丰富,但是相比起"cin"和"cout"略显繁琐,

也是非常好用的头文件.

了解更多:

C++头文件"cstdio"详解icon-default.png?t=M4ADhttps://blog.csdn.net/Chnyac/article/details/82744501?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165452376516781483737923%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165452376516781483737923&biz_id=0&spm=1018.2226.3001.4187


3."cmath" ( "math.h" )

#include<cmath>

和"cstdio"一样,"cmath"的“前身”是C语言标准函数库中的头文件"math.h",包含了大量的数学公式,方便计算.

常见用途

求绝对值 "abs()" ,正弦值"sin()" 等,就不一一列举了,想知道的可以看下面的链接.

了解更多

C++头文件"cmath"详解icon-default.png?t=M4ADhttps://blog.csdn.net/ly1390811049/article/details/108785824?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165452386816780366566485%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165452386816780366566485&biz_id=0&spm=1018.2226.3001.4187


4."windows.h"

#include<windows.h>

这是个神奇的头文件,可以自行探索.(说白了就是我也了解得比较少)

常见用途 

"GetAsyncKeyState()()"判断某个键是否被按下.

"system("cls")" 清空屏幕.

"Sleep()" 延迟(单位:毫秒).

了解更多

C++头文件"windows.h"详解icon-default.png?t=M4ADhttps://blog.csdn.net/viafcccy/article/details/84262393?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165452422016781683962560%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165452422016781683962560&biz_id=0&spm=1018.2226.3001.4187


5."algorithm"

#include<algorithm>

这是C++的标准算法库

常见用途

求最大值 "max()" , 求最小值 "min()" ,排序函数 "sort()" 等.

了解更多

C++头文件"algorithm"详解icon-default.png?t=M4ADhttps://blog.csdn.net/fengbingchun/article/details/78034969?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165452482416781685358518%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165452482416781685358518&biz_id=0&spm=1018.2226.3001.4187


6."string" "string.h" "cstring"

这三个都是有关字符串使用的头文件

主要用途

数组初始化函数 "memset()" 插入字符串"insert()" , 去除字符串"erase()" 等.

了解更多

C++头文件"string.h"详解icon-default.png?t=M4ADhttps://blog.csdn.net/qq_23827747/article/details/79712281?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165452375716781483741229%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165452375716781483741229&biz_id=0&spm=1018.2226.3001.4187


6."bits/stdc++.h"

#include<bits/stdc++.h>

它被称为C++的“万能头文件”, 足见其有多么强大,但是我没有将它放在前面,是因为它的缺点也非常明显——会大大拖慢程序运行速度. 这个头文件几乎包含了所有C++的库函数,大概有好几十个,但其中有不少都是我们平时用不到的. 所以,还是建议需要什么头文件就用什么.(如果只是为了图个方便就当我没说)

主要用途

不用我多说.

了解更多

C++头文件"bits/stdc++.h"详解icon-default.png?t=M4ADhttps://blog.csdn.net/Sunnyside_/article/details/118190897?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165452140316781818727446%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165452140316781818727446&biz_id=0&spm=1018.2226.3001.4187


好了,这次的分享就到这里,感谢观看!

都读到这里了,能不能好心给个三连ヾ(≧▽≦*)o

(这么好的文章还不赶紧收藏)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

你对C++头文件了解多少?——盘点C++的常用头文件 的相关文章

  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 在OpenGL中,我可以在坐标(5, 5)处精确地绘制一个像素吗?

    我所说的 5 5 正是指第五行第五列 我发现使用屏幕坐标来绘制东西非常困难 OpenGL 中的所有坐标都是相对的 通常范围从 1 0 到 1 0 为什么阻止程序员使用屏幕坐标 窗口坐标如此严重 最简单的方法可能是通过以下方式设置投影以匹配渲
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 【UE4】两个摄像头之间切换

    一 效果展示 二 操作步骤 创建两个摄像机 一个放在场景中 另一个放在Cube上 摄像机的细节面板中约束宽高比 Constrain Aspect Ratio 属性勾选后可以让两个摄像头之间的切换更流畅 但这不是必须的 会用到 include
  • 计算机中的指令跳转

    前言 在上一章中说了 高级语言为什么怎么样成为计算机能够读懂的语言 下面就来说说这些计算机能够读懂的语言中 他们究竟是如何设计的 CPU是如何执行指令的 在我们现实常用的CPU中 有几百亿的晶体管通过电路起来 在逻辑上我们可以认为CPU就是
  • [Pytorch系列-29]:神经网络基础 - 全连接浅层神经网络实现10分类手写数字识别

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120607797 目录 前言 深度学习
  • Redis部署——主从备份(一)

    1 简单方式 利用Docker完成Redis主从备份 1 先搭建reids master实例 docker run d name redis master p 6379 6379 redis 4 0 9 2 在搭建redis slave实例
  • 代码随想录算法训练营day10

    Leetcode232 用栈实现队列 链接 232 用栈实现队列 力扣 LeetCode 首先大家要知道 队列的模式是先进先出 如下图所示 来自代码随想录 如图所示 这是就是我们题目要求的用两个栈实现队列 我们可以用第一个栈来储存当前队列出
  • Vue Element UI 之富文本图片上传服务器 + 图片地址插入富文本

    vue版本 vue cli3 插件 vue quill editor 插件增强模块 quill image extend module quill image extend module功能 提供图片上传到服j务器的功能 复制插入 显示上传
  • [xenclient 使用小结] [xen] vhdpartx的作用。

    对于硬盘映像vhd的操作 主要是用vhd utils 但是在 usr sbin 目录下 还发现一个 vhdpartx 的工具 看名字似乎和分区有关 但是又没说明 试着运行下 结果也没有任何的输出 貌似也没有任何的影响 网上也找不到任何的描述
  • Spring和mybatis整合

    一 Spring整合MyBatis 1 导入pom依赖 1 1 添加spring相关依赖 5 0 2 RELEASE spring core spring beans spring context spring orm spring tx
  • 管好【SD-WEBUI】中大量的模型:名称+预览图+备注+分组管理

    文章目录 零 前言 一 模型管理 1 1 模型名称 文件名 1 2 模型缩略图 1 3 模型备注文字 1 4 模型分组 子目录 1 5 模型详细信息 二 第二部分 三 第三部分 零 前言 本篇主要讲怎么管理大量的模型 比如模型不要大幅改名
  • 使用Struts2的JSON插件来实现JSON数据传递

    想要实现此功能第一步需要Struts2的核心架包 第二步需要struts2 json plugin 2 3 30架包 在lib文件夹下可以找到 还是借用上次的笔记 来继续写 这个时候我们就不需要用到Servlet了 要使用到Action 配
  • 自学python入门要买什么书?

    文章目录 1 Python编程 从入门到实践 2 Python编程快速上手 让繁琐工作自动化 3 Python基础教程 第3版 4 Python核心编程 第3版 5 Python 3网络爬虫开发实战 6 Python神经网络编程 自学pyt
  • g++编译详解

    g 编译详解 资料准备 为了方便演示和讲解 在这里提前准备好几个简单的文件 test cpp test h main cpp 文件内容如下 main cpp include test h int main int argc char arg
  • 华为OD机试 - 组装新的数组(Java)

    题目描述 给你一个整数M和数组N N中的元素为连续整数 要求根据N中的元素组装成新的数组R 组装规则 R中元素总和加起来等于M R中的元素可以从N中重复选取 R中的元素最多只能有1个不在N中 且比N中的数字都要小 不能为负数 输入描述 第一
  • php常用插件

    初衷 以下总结了一些开发中发现以及用到的比较好用的扩展 会不断地进行更新 如果有好的扩展推荐 也可以留言我会及时补充上 方便自己和大家使用 更新说明 2019年11月11日更新 添加 php 文件加密扩展 2019年10月28日更新 添加
  • 联邦EMNIST数据集 (FEMNIST)

    文章目录 Introduction NIST Special Database 19 Modified NIST MNIST Extended MNIST EMNIST Federated Extended MNIST FEMNIST fe
  • 输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非法字符。

    消息 6522 级别 16 状态 2 第 2 行 在执行用户定义例程或聚合 AESDecrypt 期间出现 NET Framework 错误 System FormatException 输入的不是有效的 Base 64 字符串 因为它包含
  • 多方安全计算-隐私信息检索(PIR)

    隐私信息检索 Private Information Retrieval PIR 技术是由Chor B等提出解决保护用户查询隐私的方案 主要目的是 保证查询用户在向服务器上的数据库提交查询请求 在用户查询隐私信息不被泄漏的条件下完成查询 即
  • Java之缓冲流、转换流、节点流、包装流

    文章目录 一 BufferedRead 带有缓冲的字符输入流 1 节点流和包装流 2 readline 读一行字符 二 转换流 InputStreamReader与OutputStreamWriter 三 BufferedWrite 带有缓
  • 编译原理实验二:Bison

    编译原理实验二 Bison 实验要求 1 了解Bision基础知识 如何将文法产生式转换为Bison语句 2 阅读 src common SyntaxTree c 对应头文件 include SyntaxTree h 理解分析树生成的过程
  • 你对C++头文件了解多少?——盘点C++的常用头文件

    相信大家在编写C C 程序时 最必不可少的部分之一就是头文件了 然而 由于不同的函数所对应的头文件各不相同 就导致一部分人 尤其是我 写代码的时候常常遇到忘记所需头文件的窘境 为了解决这个问题 今天我特意搜集了C 中常用的头文件及其包含的库