2019独角兽企业重金招聘Python工程师标准>>>

可以啊、、只是命名空间的声明而已。意思就是说下面的函数,如果有和stl库里面一个名字的,就是用的stl的函数

C++ using namespace std 详解
 所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。
一 :
<iostream>和<iostream.h>是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。
后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。
因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespacestd;这样才能正确使用cout。
二:
所谓namespace,是指标识符的各种可见范围。
C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。
由于namespace的概念,使用C++标准程序库的任何标识符时,可以有三种选择:
1、直接指定标识符。例如std::ostream而不是ostream。完整语句如下:
std::cout << std::hex<< 3.4<< std::endl;
2、使用using关键字。
using std::cout;
using std::endl;
以上程序可以写成
cout << std::hex<< 3.4<< endl;
3、最方便的就是使用using namespace std;
例如:
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
这样命名空间std内定义的所有标识符都有效(曝光)。就好像它们被声明为全局变量一样。那么以上语句可以如下写:
cout << hex<< 3.4<< endl;
因为标准库非常的庞大,所程序员在选择的类的名称或函数名时就很有可能和标准库中的某个名字相同。所以为了避免这种情况所造成的名字冲突,就把标准库中的一切都被放在名字空间std中。但这又会带来了一个新问题。无数原有的C++代码都依赖于使用了多年的伪标准库中的功能,他们都是在全局空间下的。
所以就有了<iostream.h>和<iostream>等等这样的头文件,一个是为了兼容以前的C++代码,一个是为了支持新的标准。
命名空间std封装的是标准程序库的名称,标准程序库为了和以前的头文件区别,一般不加".h"

转载于:https://my.oschina.net/u/920274/blog/3002321

C++程序中可以没有using namespace std;这一句吗相关推荐

  1. C++编写程序一定要加using namespace std吗?命名空间你真的清楚吗?

    hello,大家好啊!经过C语言和简单数据结构的学习,博主终于能开始学习C++了,激动之心溢于言表. 然而刚开始学习,博主就吃了一个闭门羹.为什么C++编程时几乎每次都要敲上using namespa ...

  2. 我的探究:为什么.h头文件中不要写using namespace std

    转载于:https://www.cnblogs.com/nanlan2017/p/9179224.html

  3. 详解C++中经常看到的#include <iostream> using namespace std;

    在cpp文件中,我们经常看到#include <iostream> using namespace std; 这两句连用.问题来了对于从C切换到C++的程序员而言为啥iostream 不写 ...

  4. 为什么偏爱mod 1e9+7呢?using namespace std又是什么?

    欢迎访问https://blog.csdn.net/lxt_Lucia-- 宇宙第一小仙女\(^o^)/--萌量爆表求带飞=≡Σ((( つ^o^)つ~ dalao们点个关注呗-- ---------- ...

  5. 问题记录_MFC使用不了using namespace std

    问题描述: 前几天在接手别人的项目的时候发现一个问题,在MFC中不可以使用using namespace std. 问题解决: 开始以为是MFC的限制,但是后来查找资料并且思考,MFC也是C++的一种 ...

  6. C++中的using namespace std的作用

    C++中的using namespace std的作用 所谓namespace,是指标识符的各种可见范围.C++标准程序库中的所有标识符都被定义于一个名为std的namespace中. iostrea ...

  7. 【C++】39. std::ofstream把程序中的中的变量值存储到文件中

    更详细的介绍请参考C++ ofstream和ifstream详细用法 在c++代码中,我们通常可以使用类似std::cout的方法打印变量值.如果想把这些变量值存储到文件中保存起来,可以使用std:: ...

  8. C++中文件开头写的 using namespace std 有什么作用?

    ## C++的STL都是定义在std命名空间中的, using namespace语句的作用是提前声明要引用的命名空间,这样在引用命名 空间中的名称是就不需要加命名空间前缀. 例如,如果不用using ...

  9. 嵌入在C++程序中的extern C

    1.extern的作用 extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,可以告知编译器,用extern声明的函数和变量可以在本模块或其它模块中使用. 通常,在模块的头文件中 ...

最新文章

  1. iOS事件处理,看我就够了~
  2. egg风格 什么意思_egg是什么意思
  3. python csv数据处理_python处理csv数据的方法
  4. elk 搜索 语法_ELK从入门到还未精通(二)——ElasticSearch上篇
  5. SpringBoot AOP实现接口次数访问统计
  6. 【操作系统】磁盘结构
  7. 06-自定义构造方法
  8. 好几个div(元素)找到最后一个
  9. 速查 Git 常用命令
  10. Graphics进行局部旋转的办法
  11. 计算机应用基础搜题答案,大一计算机应用基础试题及答案
  12. android 自动朗读,Android TextToSpeech多国语言自动朗读
  13. html 时间控件滚动选择器,TimePicker
  14. 程序员风格的修真小说 —— 《码师》
  15. 基于FPGA的图像处理之幂律(伽马校正)变化
  16. 去哪儿2017校园招聘 开发工程师(第二批次)- 题解
  17. 七夕送什么给女朋友好?2022年送女朋友的七夕礼物推荐
  18. 什么是迅驰1、2、3、4代
  19. 视觉融合里程计SLAM算法SE2Lam解析-论文篇
  20. Oracle增删改查(CRUD)

热门文章

  1. Zabbix如何通过ODBC对接Oracle获取相关数据
  2. 授权MySQL账户访问指定数据库
  3. Windows下误删文件解决办法
  4. 【Hive】日期函数
  5. 【Kettle】创建资源库用户
  6. 【Oracle】重命名数据文件
  7. python异常和错误(syntax errors 和 exceptions)
  8. canvas+howler.js 解决同页面视频、音频同时播放问题
  9. 【ROS系统】解决找不到用户工作空间下的程序包的问题——E:No such package
  10. Navicat连接本地数据库报错问题解决方案