1. 定义

using指示以关键字using开始,后面是关键字namespace以及命名空间的名字

1.1 vs using声明

无法控制那些名字是可见的,因为所有名字都是可见的

  • using 声明, 我们只是简单地令名字在局部作用域内有效。
  • using指示, 整个命名空间的所有内容变得有效。

通常情况下, 命名空间中会含有一些不能出现在局部作用域中的定义, 因此, using 指示一般被看作是出现在最近的外层作用域中

1.2 作用域

using指示可以出现在全局作用域、局部作用域和命名空间作用域中,但是不能出现在类的作用域中

// namespace A and function f are defined at global scope
namespace A {int i, j;
}void f()
{using namespace A;      // injects names from A into the global scopecout << i * j << endl; // uses i and j from namespace A//...
}

1.3

using 指示可能会造成二义性。
using 指示也并非一无是处, 例如在命名空间本身的实现文件中就可以使用using 指示

C++ Primer 5th笔记(chap 18 大型程序工具) using指示相关推荐

  1. C++ Primer 5th笔记(chap 18 大型程序工具)使用命名空间成员

    1. 3种方法 using 声明 命名空间的别名( namespace alias) using 指示( using directive) 1.1 命名空间的别名 namespace cplusplu ...

  2. C++ Primer 5th笔记(chap 18 大型程序工具) 多重继承之构造函数、析构函数

    1. 继承的构造函数与多重继承 如果从多个基类中继承了相同的构造函数(即形参列表完全相同),则程序将产生错误 struct Basel {Basel () = default;Basel (const ...

  3. C++ Primer 5th笔记(chap 18 大型程序工具) 重载与命名空间

    1. using 声明或 using 指示能将某些函数添加到候选函数集 2. 对于接受类类型实参的函数来说, 其名字查找将在实参类所属的命名空间中进行.在这些命名空间中所有与被调用函数同名的函数都将被 ...

  4. C++ Primer 5th笔记(chap 18 大型程序工具) 类、 命名空间与作用域

    1. 命名空间内部名字的查找规则 由内向外依次查找每个外层作用域. 外层作用域也可能是一个或多个嵌套的命名空间, 直到最外层的全局命名空间查找过程终止. 只有位于开放的块中且在使用点之前声明的名字才被 ...

  5. C++ Primer 5th笔记(chap 18 大型程序工具)未命名的命名空间unnamed namespace

    1. 定义 关键字 namespace 后紧跟花括号括起来的一系列声明语句 1.1 生命周期 未命名的命名空间中定义的变量拥有静态生命周期: 它们在第一次使用前创建, 并且直到程序结束才销毁 未命名的 ...

  6. C++ Primer 5th笔记(chap 18 大型程序工具)内联命名空间 (inline namespace)

    1. inline必须出现在命名空间第一次出现的地方 inline namespace FifthEd {//... }//后续再打开命名空间的时候可以写inline也可以不写 namespace F ...

  7. C++ Primer 5th笔记(chap 18 大型程序工具)命名空间

    1. 问题:命名空间污染 namespace pollution 多个库将名字放置在全局命名空间 1.1 一般人的解决方法 起长名字 eg. class cplusplus_primer_Query ...

  8. C++ Primer 5th笔记(chap 18 大型程序工具)noexcept

    1. 通过提供 noexcept 说明 ( noexcept specification ) 指定某个函数不会抛出异常. 其形式是关键字 noexcept 紧跟在函数的参数列表后面 {// 紧跟在函数 ...

  9. C++ Primer 5th笔记(chap 18 大型程序工具)异常处理

    1. 异常处理 ( exception handling) 允许程序中独立开发的部分能够在运行时就出现的问题进行通信并做出相应的处理. 异常使得我们能够将问题的检测与解决过程分离开来. 程序的一部分负 ...

  10. C++ Primer 5th笔记(chap 18 大型程序工具)构造函数与虚继承

    1. 继承体系中的每个类都可能在某个时刻成为" 最低层的派生类". 只要我们能创建虚基类的派生类对象, 该派生类的构造函数就必须初始化它的虚基类. Bear::Bear (std: ...

最新文章

  1. php mysql or_mysql条件查询and or使用方法及优先级实例分析
  2. C语言SQLite3基本操作Demo
  3. 3月12日云栖精选夜读:操作阿里云Kibana
  4. 道县谋定农业创新-李加映:中国农民丰收节交易会产业化
  5. AsyncHttpClient 源码分析
  6. 牛客 contest893 G-Truthman or Fakeman
  7. SAP S/4HANA Cloud SDK 入门介绍
  8. 特征工程系列学习(零)引言
  9. C# 与 C++ 数据类型对照
  10. 一周总结汇总_2016-09-25
  11. 无线充qi协议c语言详解,无线充电Qi协议正向通信FSK的解调设计
  12. 零基础编程可以学习大数据吗?大数据难不难学啊?
  13. 基于 LSTM-Attention 的中文新闻文本分类
  14. linux ps 简书,史上最全ps 命令解析
  15. 切换+banner+base+侧滑
  16. 解决 cnpm : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。
  17. 企业无线局域网,买AP一定需要买AC控制器吗?还有一定要买AP授权吗?
  18. MongoDB 常用命令总结
  19. 学习能力篇:为什么你一定要知道学贵有法和学无定法?
  20. 计算机表文件课程 pdf,计算机应用基础课程标准文件.pdf

热门文章

  1. 网络:HTTP1.1和HTTP2区别
  2. 25.C++:最通俗的讲解,什么是面向过程?什么是面向对象?
  3. Spring Boot配置嵌入式Servlet容器的两种方法
  4. php实现返回界面,PHP实现模仿socket请求返回页面的方法
  5. 简易航空订票系统_基于C++实现简易航空票务,飞机订票系统!
  6. 数据中心智慧机房解决方案
  7. 成功解决matplotlib绘图的时候,自定义横坐标和纵坐标刻度数值(调整坐标轴刻度间隔)
  8. Python之compiler:compiler库的简介、安装、使用方法之详细攻略
  9. Algorithm:【Algorithm算法进阶之路】之算法中的数学编程相关习题(时间速度、进制转换、排列组合、条件概率、斐波那契数列)
  10. Py之gpxpy:gpxpy的简介、安装、使用方法之详细攻略