C/C++头文件版本演变
来源:互联网 发布:在4a做文案策划 知乎 编辑:程序博客网 时间:2024/06/06 07:02
C/C++头文件版本演变
参考:
http://blog.sina.com.cn/s/blog_a2d423a001010qzn.html
http://blog.csdn.net/luoweifu/article/details/20242307
在将C库和旧的C++库放入名字空间std 中的过程中,对
1)旧的C++头文件。将C++头文件名中的.h 去掉,所以<iostream.h>变成了<iostream>,<complex.h>变成了<complex>,等等。
2)旧的C头文件。对于C 头文件,采用同样的方法,但在每个名字前还要添加一个c,所以C 的<string.h>变成了<cstring>,<stdio.h>变成了<cstdio>,等等。
最后一点是,旧的C++头文件是官方所反对使用的(即,明确列出不再支持),但旧的C 头文件则没有(以保持对C 的兼容性)。实际上,编译器制造商不会停止对客户现有软件提供支持,所以可以预计,旧的C++头文件在未来几年内还是会被支持。
综上,标准C 头文件如<stdio.h>继续被支持,头文件的内容不在std 中。具有C库功能的新C++头文件具有如<cstdio>这样的名字,它们提供的内容和相应的旧C头文件相同,只是内容在std 中。旧的C++头文件名如<iostream.h>将会继续被支持,尽管它们不在官方标准中,这些头文件的内容不在名字空间std 中。新的C++头文件如<iostream>包含的基本功能和对应的旧头文件相同,但头文件的内容在名字空间std 中。
两个过程:
C库-->C++的std库
旧的C++库-->C++的std库
特别地,关于字符串头文件:
<string.h>是旧的C头文件,对应的是基于char*的字符串处理函数,包含strcpy、strcat之类;
<cstring>是对应于旧C头文件的std版本;
<string>是包装了std的C++头文件,对应的是新的string类。它定义了一个string的字符串类,里面包含了string类的各种操作,如s.size(), s.erase(), s.insert()等。但<string>又包含了老的C版本的字符串操作如strcpy、strcat等,这就相当于,在<string>的文件中除了定义自己的string类之外,还加了一个#include<string.h>一句包含了C版本的字符串操作。
因此,关于字符串直接使用<string>即可。
参考:
http://blog.sina.com.cn/s/blog_a2d423a001010qzn.html
http://blog.csdn.net/luoweifu/article/details/20242307
在将C库和旧的C++库放入名字空间std 中的过程中,对
1)旧的C++头文件。将C++头文件名中的.h 去掉,所以<iostream.h>变成了<iostream>,<complex.h>变成了<complex>,等等。
2)旧的C头文件。对于C 头文件,采用同样的方法,但在每个名字前还要添加一个c,所以C 的<string.h>变成了<cstring>,<stdio.h>变成了<cstdio>,等等。
最后一点是,旧的C++头文件是官方所反对使用的(即,明确列出不再支持),但旧的C 头文件则没有(以保持对C 的兼容性)。实际上,编译器制造商不会停止对客户现有软件提供支持,所以可以预计,旧的C++头文件在未来几年内还是会被支持。
综上,标准C 头文件如<stdio.h>继续被支持,头文件的内容不在std 中。具有C库功能的新C++头文件具有如<cstdio>这样的名字,它们提供的内容和相应的旧C头文件相同,只是内容在std 中。旧的C++头文件名如<iostream.h>将会继续被支持,尽管它们不在官方标准中,这些头文件的内容不在名字空间std 中。新的C++头文件如<iostream>包含的基本功能和对应的旧头文件相同,但头文件的内容在名字空间std 中。
两个过程:
C库-->C++的std库
旧的C++库-->C++的std库
特别地,关于字符串头文件:
<string.h>是旧的C头文件,对应的是基于char*的字符串处理函数,包含strcpy、strcat之类;
<cstring>是对应于旧C头文件的std版本;
<string>是包装了std的C++头文件,对应的是新的string类。它定义了一个string的字符串类,里面包含了string类的各种操作,如s.size(), s.erase(), s.insert()等。但<string>又包含了老的C版本的字符串操作如strcpy、strcat等,这就相当于,在<string>的文件中除了定义自己的string类之外,还加了一个#include<string.h>一句包含了C版本的字符串操作。
因此,关于字符串直接使用<string>即可。
0 0
- C/C++头文件版本演变
- stm32_eval_sdio_sd.c版本4.5的文件头
- 采用C标准库头文件的C++版本
- 采用 C 标准库头文件的 C++ 版本
- 采用C标准库头文件的C++版本
- c标准库头文件的C++版本
- C++版本的C标准库头文件的特点
- [C/C++] 头文件一览
- 标准C/C+头文件
- c/c++头文件
- Turbo C头文件
- C头文件
- C/C++头文件
- C头文件大全
- C/C++头文件
- C/C++头文件
- c/c++头文件
- c/c++头文件
- Linux vmstat命令实战详解
- kettle
- LinuxGPIO驱动使用其实很简单
- iOS开发-UI控件:UISwitch控件两种使用方法和监听
- HTML学习(七)——框架
- C/C++头文件版本演变
- Android Service 服务(一)—— Service
- Swift语言教程中文文档
- hrml5图片上传或者调用阿里百川的方法上传
- Am335x 之GPIO控制
- Servlet生命周期与原理
- Android 一键清理内存,缓存,文件代码
- 网络游戏下载(更新)解压
- [Linux应用]通过sysfs在用户空间使用GPIO