C++笔记(二)------ 头文件
类似#include<string>与#include<string.h>等头文件的区别
标准的C++头文件没有.h扩展名,带有.h的头文件一般都是C语言的。例如#include<iostream>是C++的头文件,要使用更新的编译器.,#include<iostream.h>是C的头文件。对于C中的每一个头文件,C++标准库中都有一个不带“.h”扩展名的头文件与其相对应。但后者的很多内容都存放进了“std”名字空间中。也有些C++的头文件通过加上c的前缀表示来自于c,例如cmath就是由math.h变来的。
但是string比较特殊。因为C++中本身就有一个名叫string的类,所以对于原来C中的string.h与其对应就不是string而是cstring .所以string与string.h没有任何关系,是毫无关系的两个头文件。三者的区别如下:
<string.h>是旧的C 头文件,对应的是基于char*的字符串处理函数;
<cstring>是对应于旧C 头文件的std 版本;
<string>是包装了std 的C++头文件,对应的是新的string 类。
命名空间std的辨析:
using namespace std //使用名字空间(使用所有)
using namespace std::cout//只使用cout
如不用using,则在代码前可以用sdt::cout<<表示使用的是std中的cout。
实例解析:
#include<iostream.h>//必须要加上.h
void main()
{
cout<<"Right?"<<endl;
}
#include<string>
#include<iostream>//此处必须去掉.h
usingnamespace std ;
void main()
{
string s;
getline(cin,s);
cout<<"Right?"<<endl;
}
iostream.h里面定义的所有类以及对象都是在全局空间里,所以你可以直接用cout
但在iostream里面,它所定义的东西都在名字空间std里面,所以你必须加上
using namespace std才能使用cout。
最新文章
- js生成和下载二维码
- axis2开发webservice程序
- 开启事务时mybatis返回主键id
- CodeForces 628B New Skateboard
- Android:界面设计工具DroidDraw
- 关于web请求中 获取真实IP
- 14.5.5 Deadlocks in InnoDB
- Tips &; Tricks:Apache log4j简明教程(二)
- PS抠出树叶树枝
- PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
- PAT (Advanced Level) 1096. Consecutive Factors (20)
- [iOS] 响应式编程开发-ReactiveCocoa(一)
- JavaScript代码规范和性能整理
- JSON详细总结
- 打开eclipse ";Initializing Java Tooling";错误
- Shell编程(五)脚本语法
- Windows下将文件打包压缩成 .tar.gz格式
- CICD 基础
- 使用python绘出常见函数
- BZOJ5092 分割序列(贪心)