cmath、fstream头文件的作用是什么?

 2024-03-17 00:10:15  阅读 0

C 和 C++ 头文件的比较

C. 传统C++# //设置插入点# //字符处理# //定义错误代码# //浮点数处理# //文件输入/输出# //参数化输入/输出# //数据流输入/输出# //定义各种数据类型最有价值的常量# //定义本地化函数# //定义数学函数# //定义输入/输出函数# //定义杂项函数和内存分配函数# //字符串处理# //基于数组的输入/输出# //定义时间相关函数# //宽字符处理和输入/输出# //宽字符分类///////////////////// /////////////////////////////////////////////////////////////////////////////////////////// // //////标准C++(如上不再注释)# //STL通用算法# //STL位集容器# # # # math># //复数类# # # # # //STL双端队列 # //异常处理类# # //STL定义操作函数(而不是运算符)# # //STL线性列表容器# //STL映射容器# # //基本输入/输出支持# //输入/输出系统预声明使用# # //基本输入流# //基本输出流# //STL队列容器# //STL集合容器# //基于字符串的流# //STL堆栈容器# //标准异常类# //底层输入输出支持 # //类 # //STL通用模板类 # //STL动态数组容器 # # using std;/////////////////// /////////////////////////////////////////////////////////////////////////////////////////// /// ///////C99 新增# //复数处理# //浮点环境# //整数格式转换# //布尔环境# //整数环境# math.h>//通用类型 math宏观---------------------------------------------- --- ---------------------------------------------------------- --- ---补充:我经常在CSDN等技术论坛上问关于C++头文件的问题。

提出这些问题的人往往是刚学C++的新手。 当我还是个新手时,我也问过类似的问题。 现在我们看一下下面两个: #//这是1998年标准化后的标准头文件 #//这是标准化前的头文件。 更本质的区别是,标准C++库的组件都放在同名的std中。相比之下,.h将这些标准组件放在全局空间中。 同时,旧的C标准库也经过标准化改造。 看一下下面两个头文件 // 标准化后修改后的C标准库,所有组件都放在std中 # // 在C++之前标准化C标准库 # // 看一下这个头文件 C 的字符处理库下基于char*的函数库#//标准化后就变成了这样#//不过很多朋友也看到了这个字符串处理函数库,里面包含了一个新的类#经过标准委员会这么大的处理之后大规模手术中,在1998年之前生产的C++编译器(BC3.0、BC5.0)上可以成功编译的源文件在支持新标准的编译器上可能无法成功编译,这很正常。 。 【原因】回顾一下标准库,这个库涵盖的范围很广,提供了很多有用的功能。

也正是因为如此,标准库中的类名和函数名与第三方提供的库中的类名或函数名发生名称冲突的可能性大大增加。 为了避免这个问题,标准委员会决定将标准库中的所有内容都放在 std 中。 但这样做也引发了新的问题。 很多C++程序代码依赖于已经存在多年的C++“准”标准库(C++标准化的延迟导致了这些情况),例如.h、.h等。为了解决这个新出现的问题,标准化委员会决定为穿着std服装的组件设计一些新的头文件名。 将C++头文件中的.h去掉,然后C头文件将进行与之前相同的处理。 同时前面加了一个字母c,表示是C头文件(感觉就像是C头文件一样)。 种族歧视的感觉)。 同时,标准化委员会表示,现有的C++头文件将不再包含在支持列表中,旧的C头文件将继续生存,以满足“与C兼容”的古老契约。 然而,这些编译器供应商不太可能推翻客户的旧编译器(他们也永远不会这样做),因此那些旧的 C++ 头文件仍然存在,并继续让新的 C++ 新手感到困惑。 头脑。 以下是当今大多数 C++ 开发工具所代表的头文件的组织状态: 1. 旧的 C++ 头文件,例如 .h。 虽然被标准化委员会抛弃,但各大厂商为了自身的商业利益,仍会继续生存下去。 这些头文件的内容不会在 std 中。

2、新的C++头文件虽然提供了与旧头文件相同的功能,但其内容被合并到std中,从而有效避免了名称污染问题。 3. 继续支持stdio.h等标准C头文件,但此类文件的内容不放在std中。 4. C函数库的技能也有相应名称相似的新C++版本。 这类头文件的内容也有幸披上了std的外衣。 事实上,这些并不是标准化后标准程序库的唯一变化。 许多标准化组件已经“标准化”。 其中不乏资深人物。 标准库的问题不是一两篇文章就能说清楚的。 如果你想了解更多关于C++标准库的内容,可以看看侯老师的《C++标准库》。

标签: fstream c++ stl

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码