(1)如果C++程序中使用了带后缀".h"的头文件,那么不必在程序中声明命名空间,只需要文件中包含头文件即可;(2)C++标准要求系统提供的头文件不带后缀".h",但为了表示C++与C的头文件既有联系又有区别,C++中所用头文件不带后缀".h",而是在C语言的相应头文件名之前加上前缀c:

(3)自定义的头文件通常带后缀“.h",系统标准库文件不带后缀“.h"。

(4)因为标准库非常的庞大,所程序员在选择的类的名称或函数名时就很有可能和标准库中的某个名字相同。所以为了避免这种情况所造成的名字冲突,就把标准库中的一切h标识符都被放在名字空间std中。

(5)answer:如果不使用using std::string,就在程序中使用string 类型变量,程序不能识别是标准库中的string 变量。因为程序自定义头文件中也可能含有string变量。所以一定要声明using std::string。这样程序里面的string类型变量就都是std标准库中的string变量了。

转载于:https://www.cnblogs.com/ly01/p/4493281.html

C++命名空间和头文件的关系 例如已经使用了#includestring,为什么还要 using std::string?...相关推荐

  1. 使用命名空间、头文件和实现文件

    *************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com ****** ...

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

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

  3. c++ 头文件的创建和使用,头文件与源文件的命名关系,#include <头文件> 和 #include “头文件“的关系

    创建头文件的三个步骤 以实现一个swap函数为例: 1.创建一个.h的头文件:里面允许存放类声明和函数声明 // swap.h #pragma oncevoid swaps(int a, int b) ...

  4. C++std命名空间和头文件详解

    一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突.当所有人的代码都测试通过,没有问题时,将它们结合到一起就有可能会出现命名冲突. 例如小李和小韩都参 ...

  5. c++中类的定义与头文件的关系

    class Stack: 此句只是作为Stack class的前置申明,只是将calss名次告诉编译器,并未提供此class的任何其他信息.前置申明使得我们可以进行类指针的定义,或以此class作为数 ...

  6. ruby生成C++头文件引用关系图

    首先生成graphviz的dot格式文件 require 'find' class RefNodeattr_accessor :name,:reference end include Find if ...

  7. C\C++中头文件string与string.h的区别

    http://www.cnblogs.com/Cmpl/archive/2012/01/01/2309710.html 在C++中,#include<iostream>与#include& ...

  8. C++包含头文件时尖括号和双引号区别

    原文链接:http://c.biancheng.net/cpp/biancheng/view/66.html 如果你还看一些别的C++教程,那么你可能很早就发现了,有些书上的#include命令写作# ...

  9. C++基础::函数、类、类型所在的头文件 接口的介绍

    除非特别说明,所在的命名空间均是:标准命名空间,也即std: stuff header 说明 ifstream ofstream fstream <fstream> 文件流 in>& ...

  10. C++ 头文件cstring,string.h,string 三者的区别

    一般一个C++的老的带".h"扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带".h"扩展名的相对应,区别除了后者的好多改进之外,还有 ...

最新文章

  1. Docker安装Nextcloud
  2. python 如何跳过异常继续执行
  3. Centos6.3下利用rsyslog+loganalyzer+mysql部署日志服务器
  4. 【生活】 戴尔XPS 插上耳机之后,说话没声音,麦克风失效 window10 系统
  5. Effective C++学习笔记(Part One:Item 1-4)
  6. JavaScript实现斐波那契数列(Febonacci Array)
  7. Oracle数据库SqlLoad常用技巧总结word版
  8. ffmpeg drawtext同时添加多行文本
  9. Android你可能要用到的自定义View分享
  10. tweenlite的组合使用
  11. paip.c++读写ini文件.
  12. 正向传播、反向传播和计算图
  13. 大一计算机基础ppt练习题,计算机基础知识PPT练习题及答案DOC
  14. 网络路径结点回溯分析工具
  15. SQLServer安装时哪些功能是必需的(sql server 2016安装时选择哪些功能)
  16. 密度聚类算法python详解_密度聚类python
  17. 网页导出Word几种方法简介
  18. (软件构造) 关于JDK版本更换问题(附jdk下载链接以及jdk环境变量全教程)
  19. 第二周 预习:Java基本语法2、面向对象入门
  20. 解决:win10下修改mac地址的方法

热门文章

  1. 【bzoj1085】【SCOI2005】【骑士精神】
  2. 解决mavencommons-cli:commons-cli:jar:1.0 下载不下来的错误
  3. HttpServletResponse response详解
  4. UVa 10970 大块巧克力
  5. appium使用真机做安卓移动端自动化测试
  6. 学习总结之 WebApi 用户登录和匿名登录,及权限验证
  7. 【Android Developers Training】 1. 创建一个Android项目工程
  8. MFC中的CFileFind类
  9. 3D世界相机防抖杆的机制探究
  10. 用足球阵型告诉你,阿里云如何护航全网70%世界杯流量 1