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

C++命名空间的定义以及使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、命名空间定义?
    • 1.1定义:
    • 1.2变量在域中的访问顺序:
  • 二、命名空间使用
    • 2.1加命名空间名称及作用域限定符(推荐)
    • 2.2使用using将命名空间某个成员引入
    • 2.3使用using namespace 命名空间名称引入


前言

在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。

一、命名空间定义?

1.1定义:

定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。
1.正常命名:
在这里插入图片描述

2.嵌套命名:
在这里插入图片描述
3.3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。
ps:一个工程中的test.h和上面test.cpp中两个N1会被合并成一个

1.2变量在域中的访问顺序:

局部域>全局域>展开了的命名空间域or指定访问命名空间域

二、命名空间使用

2.1加命名空间名称及作用域限定符(推荐)

作用域限定符: ::
在这里插入图片描述

2.2使用using将命名空间某个成员引入

在这里插入图片描述

2.3使用using namespace 命名空间名称引入

在这里插入图片描述
直接把整个命名空间里的变量都引入了
展开命名空间域就相当于把命名空间里面的变量变成全局变量,所以使用的时候要记住与原先的全局变量别冲突重名,所以这里还是建议使用第一种方法


http://www.kler.cn/news/16846.html

相关文章:

  • C++煞笔笔记
  • 功能齐全的 DIY ESP32 智能手表设计之原理图讲解一
  • python实战应用讲解-【numpy数组篇】实用小技巧(九)(附python示例代码)
  • 这一篇LiveData掉不掉价(使用+粘性事件解决)
  • 07 Kubernetes 网络与服务管理
  • 项目沟通管理和干系人管理
  • 如何学习数据结构和算法
  • 《智能手机心率和呼吸率测量算法的前瞻性验证》阅读笔记
  • 23年5月高项备考学习笔记 —— 信息系统治理
  • NLP实战:基于Pytorch的文本分类入门实战
  • PS磨皮插件portraiture最新版磨皮工具
  • 【Python习题集3】常用数据结构习题
  • vcruntime140_1.dll丢失的解决方法
  • 3个经典线程同步问题
  • 用ChatGPT通过WebSocket开发一个交互性的五子棋微信小程序(二)
  • ArduPilot之开源代码基础知识Threading概念
  • Vue3通透教程【十四】TS复杂类型详解(一)
  • MATLAB函数封装2:QT调用封装函数
  • 至少要吃掉多少糖果
  • HPDA的资料
  • 荔枝派Zero(全志V3S)制作 IMG 镜像文件
  • 兴寿镇“春踏青,兴寿行”特色旅游线路点靓辛庄
  • 【Python入门知识】NumPy数组迭代及连接
  • 2.rabbitMQ之交换机
  • 【SCI征稿】中科院2区SCI,CCF推荐,评职代表作首选快刊
  • LC正弦波振荡器【高频电子线路】【Multisim】
  • thread-最佳时间
  • BetaFlight统一硬件配置文件研读
  • PAT A1012 The Best Rank
  • iOS---iOS10适配iOS当前所有系统的远程推送