C\C++中头文件string与string.h的区别
http://www.cnblogs.com/Cmpl/archive/2012/01/01/2309710.html
在C++中,#include<iostream>与#include<iostream.h>的区别,前者要使用更新的编译器(其实大部分编译器多比较前卫了,出了有些搞嵌入式的用变态的编译器)。
喔,原来iostream是C++的头文件,iostream.h是C的头文件,即标准的C++头文件没有.h扩展名,将以前的C的头文件转化为C++的头文件后,有时加上c的前缀表示来自于c,例如cmath就是由math.h变来的。
using namespace std //使用名字空间(使用所有)
using namespace std::cout//只使用cout
如不用using,则在代码前可以用sdt::cout<<表示使用的是std中的cout。
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
一般一个C++的老的带“.h”扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带“.h”扩展名的相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。
但唯独string特别。
问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数,比如楼主提到的strcmp。
这个头文件跟C++的string类半点关系也没有,所以<string>并非<string.h>的“升级版本”,他们是毫无关系的两个头文件。
要达到楼主的目的,比如同时:
#include <string>
usingnamespace std;
或者
#include <cstring>
#include <string>
其中<cstring>是与C标准库的<string.h>相对应,但裹有std名字空间的版本。
最大的挑战是把字符串头文件理清楚:
<string.h>是旧的C 头文件,对应的是基于char*的字符串处理函数;
<string>是包装了std 的C++头文件,对应的是新的string 类(看下文);
<cstring>是对应于旧C 头文件的std 版本。如果能掌握这些(我相信你能),其余的也就容易了。
<string.h> 的c语言的东西 并无类,所以不能 string s1
<cstring>文件实际上只是在一个命名空间std中include了 <string.h>,…
C\C++中头文件string与string.h的区别相关推荐
- c语言cstdio头文件,头文件cstdio和stdio.h的区别?
满意答案 tomvalex 推荐于 2017.11.23 采纳率:56% 等级:8 已帮助:112人 在C语言中,stdio.h 头文件是主要的. 而在后来的C++语言中,C只是C++的一个子集 ...
- 头文件stdio与stdlib.h的区别
头文件#include<stdio.h>与#include<stdlib.h>的区别 stdlib 头文件即standard library标准库头文件 stdlib 头文件里 ...
- 头文件cstring、string、string.h的区别
头文件cstring.string.string.h的区别 <string>是C++标准库头文件,使用stirng类型必须首先包含string头文件,用于字符串操作,string类型可以进 ...
- C++中头文件的命名规则
C++中头文件的命名规则,因为C++是从C语言发展而来的,为了与C兼容,C++保留了C语言中的一些规定,其中就包括用.h作为后缀的头文件,比如大家所熟悉的:stdio.h.math.h和string. ...
- Visual Studio 中使用万能头文件 #include bits/stdc++.h
进行各种练习赛后,看题解代码时经常会看到这么一个陌生的头文件 #include <bits/stdc++.h> ,这个头文件是一个C++万能头文件,里面包含了程序比赛中所有可能用到的头文件 ...
- c51语言的标准库函的头文件,C51编程中头文件的使用
头文件在C51的编程中是不可缺少的部分.本文将对keil C中常用头文件予以说明,并就如何编写头文件进行初步介绍. 一.C51常见本征函数库 一些常见的头文件都是keil C自带的,在安装目录下的C5 ...
- ios中头文件交叉导入问题
ios中头文件交叉导入问题 比如类man中#import "woman.h" 类woman中#import "man.h" 解决方法: 把类woman中#imp ...
- Keil C51中头文件INTRINS.H的作用
KEIL 中 头文件 INTRINS.H的作用 在 C51 单片机编程中,头文件 INTRINS.H 的函数使用起来, 就会让你像在用汇编时一样简便. 内部函数 描述 _crol_ 字符循环左移 _c ...
- C++中头文件(.h)和源文件(.cpp)都应该写些什么,头文件中的预编译语句作用,命名空间和头文件的区别与联系,内部链接和外部链接
1. C++中头文件(.h)和源文件(.cpp)都应该写些什么: 总结下来就是头文件写的就是类的声明(包括类里面的成员和方法的声明)和函数的声明,但一般来说不写出具体的实现.对应的同名(可以不同名,但 ...
- C++ 中头文件(.h)和源文件(.cc)的写法简述
C++ 中头文件(.h)和源文件(.cc)的写法简述 用C++编写比较大型的项目时,文件的分割管理确实确实是非常必要的 .下面就非常简洁明了地谈谈头文件(.h)和源文件(.cc)应该怎么写. 头文件( ...
最新文章
- Effective STL 为包含指针的关联容器指定比较类型
- 给妹子讲python-S01E23初识异常处理
- effective c++ 条款10 让operator= 返回*this的引用
- Linux C编程--进程介绍2--exec函数
- linux安装python3教程_linux下安装python3和对应的pip环境教程详解
- ps中对齐,历史记录,图层
- React开发(107):回显数据直接getFieldDecorator定义
- gin 项目结构_Go Web 框架 Gin 路由的学习
- 当索尼停产单反:好产品是怎么被时代「消融」的?
- Terrasolid点云分类_分类算法简述
- 定位修改器服务器码,快手的定位修改器,快手定位到别的城市深度解析免费体验效果...
- python输入生日输出星座代码 过程_用Python来写一个男女相亲小程序|码农的情人节...
- 【C#】Activator.CreateInstance用法
- APP内跳转QQ和陌生人聊天实现客服功能
- 几个维度带你了解什么是聚合支付
- 5G C-V2X技术介绍
- 【推荐】搭建你的免费 R 云端服务器
- 阿里云天池机器学习task3
- gazebo中给机器人添加16线激光雷达跑LIO-SAM
- 小米手环NFC 模拟门禁卡 不买东西最简解决方案(100字)
热门文章
- comsol软件入门基本操作
- 网络渗透测试实训周笔记3.0
- 【学习笔记】dij 费用流 + 势能函数
- 小学生python游戏编程arcade----爆炸粒子类
- 2020清华计算机科学与技术录取分析总结
- springSecurity之PasswordEncoder
- 关于冯诺依曼结构、哈佛结构、增强型的哈佛结构
- linux如何ping多个ip,如何同时Ping多个IP地址并保存记录 | 个人信息技术网
- 我的博客 http://aofengblog.blog.163.com/
- Uncaught ReferenceError: regeneratorRuntime is not defined 解决方法