当前位置: 首页 > news >正文

C++ primer plus 内存模型和命名空间下

前言

第一部分的序章


一  命名空间

1  命名空间

有前面的过渡知识我们可以知道命名空间是为了解决函数名字冲突所引出来的新的方法

名称空间可以是全局的, 也可以位于另一个名称空间中,但不能位于代码块中。因此,在默认情况下, 在名称空间中声明的名称的链接性为外部的,除非它引用了常量

由于前面的过渡知识都已经学的差不多了,这里就只进行补充

2  using声明和using编译指令

using namespace std;//using 编译指令
using std::cout;    //using 编译声明

3  using编译指令存在的问题
二义性

namespace yang{
    int a;
}

namespace zhang{
    int a;
}

yang::a = 10;
zhang:: a = 10;//不存在二义性

using yang::a;
using zhang::a;
a = 10;       //存在二义性

事实上,编译器不允许您同时使用上述两个using声明,因为这将导致二义性

using声明和using编译指令的比较
使用 using 编译指令导入一个名称空间中所有的名称与使用多个using声明是不一样的,而更像是大量使用作用域解析运算符。使用 using 声明时,就好像声明了相应的名称一样。如果某个名称已经在函数中声明了,则不能用ωing声明导入相同的名称。然而,使用 using编译指令时,将进行名称解析,就像在包 含 using 声明和名称空间本身的最小声明区域中声明了名称一样

 还有一个就是未命名空间,就是前面没有名字

相关文章:

  • OSC32IN与OSC32OUT对于无源晶振而言有区别吗?
  • 数字滤波器的设计实现及应用(论文+仿真)
  • 在教育领域的大模型知识引擎 × DeepSeek应用
  • 显示模组bonding缺划专案
  • RabbitMQ入门:从安装到高级消息模式
  • SWPU 2022 新生赛
  • Fisher准则例题
  • 【大语言模型】【个人知识库正式内容】提示工程:如何设计模型的提示语
  • Linux操作系统下Git的使用详细步骤
  • 什么是mysql索引回表?
  • jmeter-sample
  • 论文阅读笔记——LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS
  • 自定义MDCAdapter,进行线程池级别的日志ID传递
  • 安装 Powerlevel10k 及 Oh My Zsh 的使用
  • opencascade 源码学习几何变换 BRepBuilderAPI-BRepBuilderAPI_Transform
  • 【GB28181】RTSP服务器传输AAC音频
  • JVM垃圾收集器相关面试题(1)
  • WPS 接入 DeepSeek-R1 深度实践:打造全能AI办公助手
  • VXLAN 组播 RP
  • QT编程之QGIS
  • 俄美元首通话超2小时,普京称愿与乌方共同起草和平备忘录
  • AI快速迭代带来知识焦虑,褚君浩院士提出“四维能力模型”
  • 人民日报头版:紧盯“学查改”,推动作风建设走深走实
  • 玉林一河段出现十年最大洪水,一村民被冲走遇难
  • 纽约市长称墨海军帆船撞桥已致2人死亡,撞桥前船只疑似失去动力
  • 世界高血压日|专家:高血压患者控制血压同时应注重心率管理