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。

#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

一般一个C++的老的带“.h”扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带“.h”扩展名的相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。

但唯独string特别。 
问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数,比如楼主提到的strcmp。 
这个头文件跟C++的string类半点关系也没有,所以<string>并非<string.h>的“升级版本”,他们是毫无关系的两个头文件。
 
要达到楼主的目的,比如同时:

#include <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>是c++ 的头文件,其内包含了一个string类,string s1就是建立一个string类的对象

<string.h> 的c语言的东西 并无类,所以不能 string s1

<cstring>文件实际上只是在一个命名空间std中include了 <string.h>,…

C\C++中头文件string与string.h的区别相关推荐

  1. c语言cstdio头文件,头文件cstdio和stdio.h的区别?

    满意答案 tomvalex 推荐于 2017.11.23 采纳率:56%    等级:8 已帮助:112人 在C语言中,stdio.h 头文件是主要的. 而在后来的C++语言中,C只是C++的一个子集 ...

  2. 头文件stdio与stdlib.h的区别

    头文件#include<stdio.h>与#include<stdlib.h>的区别 stdlib 头文件即standard library标准库头文件 stdlib 头文件里 ...

  3. 头文件cstring、string、string.h的区别

    头文件cstring.string.string.h的区别 <string>是C++标准库头文件,使用stirng类型必须首先包含string头文件,用于字符串操作,string类型可以进 ...

  4. C++中头文件的命名规则

    C++中头文件的命名规则,因为C++是从C语言发展而来的,为了与C兼容,C++保留了C语言中的一些规定,其中就包括用.h作为后缀的头文件,比如大家所熟悉的:stdio.h.math.h和string. ...

  5. Visual Studio 中使用万能头文件 #include bits/stdc++.h

    进行各种练习赛后,看题解代码时经常会看到这么一个陌生的头文件 #include <bits/stdc++.h> ,这个头文件是一个C++万能头文件,里面包含了程序比赛中所有可能用到的头文件 ...

  6. c51语言的标准库函的头文件,C51编程中头文件的使用

    头文件在C51的编程中是不可缺少的部分.本文将对keil C中常用头文件予以说明,并就如何编写头文件进行初步介绍. 一.C51常见本征函数库 一些常见的头文件都是keil C自带的,在安装目录下的C5 ...

  7. ios中头文件交叉导入问题

    ios中头文件交叉导入问题 比如类man中#import "woman.h" 类woman中#import "man.h" 解决方法: 把类woman中#imp ...

  8. Keil C51中头文件INTRINS.H的作用

    KEIL 中 头文件 INTRINS.H的作用 在 C51 单片机编程中,头文件 INTRINS.H 的函数使用起来, 就会让你像在用汇编时一样简便. 内部函数 描述 _crol_ 字符循环左移 _c ...

  9. C++中头文件(.h)和源文件(.cpp)都应该写些什么,头文件中的预编译语句作用,命名空间和头文件的区别与联系,内部链接和外部链接

    1. C++中头文件(.h)和源文件(.cpp)都应该写些什么: 总结下来就是头文件写的就是类的声明(包括类里面的成员和方法的声明)和函数的声明,但一般来说不写出具体的实现.对应的同名(可以不同名,但 ...

  10. C++ 中头文件(.h)和源文件(.cc)的写法简述

    C++ 中头文件(.h)和源文件(.cc)的写法简述 用C++编写比较大型的项目时,文件的分割管理确实确实是非常必要的 .下面就非常简洁明了地谈谈头文件(.h)和源文件(.cc)应该怎么写. 头文件( ...

最新文章

  1. Effective STL 为包含指针的关联容器指定比较类型
  2. 给妹子讲python-S01E23初识异常处理
  3. effective c++ 条款10 让operator= 返回*this的引用
  4. Linux C编程--进程介绍2--exec函数
  5. linux安装python3教程_linux下安装python3和对应的pip环境教程详解
  6. ps中对齐,历史记录,图层
  7. React开发(107):回显数据直接getFieldDecorator定义
  8. gin 项目结构_Go Web 框架 Gin 路由的学习
  9. 当索尼停产单反:好产品是怎么被时代「消融」的?
  10. Terrasolid点云分类_分类算法简述
  11. 定位修改器服务器码,快手的定位修改器,快手定位到别的城市深度解析免费体验效果...
  12. python输入生日输出星座代码 过程_用Python来写一个男女相亲小程序|码农的情人节...
  13. 【C#】Activator.CreateInstance用法
  14. APP内跳转QQ和陌生人聊天实现客服功能
  15. 几个维度带你了解什么是聚合支付
  16. 5G C-V2X技术介绍
  17. 【推荐】搭建你的免费 R 云端服务器
  18. 阿里云天池机器学习task3
  19. gazebo中给机器人添加16线激光雷达跑LIO-SAM
  20. 小米手环NFC 模拟门禁卡 不买东西最简解决方案(100字)

热门文章

  1. comsol软件入门基本操作
  2. 网络渗透测试实训周笔记3.0
  3. 【学习笔记】dij 费用流 + 势能函数
  4. 小学生python游戏编程arcade----爆炸粒子类
  5. 2020清华计算机科学与技术录取分析总结
  6. springSecurity之PasswordEncoder
  7. 关于冯诺依曼结构、哈佛结构、增强型的哈佛结构
  8. linux如何ping多个ip,如何同时Ping多个IP地址并保存记录 | 个人信息技术网
  9. 我的博客 http://aofengblog.blog.163.com/
  10. Uncaught ReferenceError: regeneratorRuntime is not defined 解决方法