c++入门 命名空间

文章目录

  • C++入门
    • 命名空间
      • 域作用限定符
      • 域作用限定符操作
      • C++的域
      • 编译器的搜索原则
      • 命名空间域的展开
      • 命名空间的嵌套

C++入门

命名空间

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

域作用限定符

	::称为域作用限定符它可以访问到命名空间域中的变量 函数 结构体 等等编译器的搜索原则为局部域 全局域那么 如果存在 全局变量 int x = 2; 局部变量 int x = 1;编译器会有限搜索到局部变量x想要访问到 同名的全局变量 可以使用::符::前面省略域名 默认访问全局域假设想要打印全局x变量

在这里插入图片描述

域作用限定符操作

访问变量 函数 结构体 其中访问结构体 与变量函数访问方式不相同

在这里插入图片描述在这里插入图片描述

C++的域

c++域:全局域 局部域 命名空间域 类域
创建的命名空间域中的内容都属于全局域 	命名空间域 干预的只有访问的问题
不会影响生命周期

编译器的搜索原则

编译器的搜索原则:未指定域:优先局部域 之后全局域指定域    :直接会在指定的域中搜索

命名空间域的展开

使用using namespace 域名 可以将命名空间域的访问权打开
不须在指定域名 展开后也就是全局域了
命名空间域的展开也是不好的可能会出现命名冲突的问题
std是c++库的命名空间域名

在这里插入图片描述
在这里插入图片描述
命名空间域也可以展开部分
在这里插入图片描述
在这里插入图片描述

命名空间的嵌套

在这里插入图片描述
在这里插入图片描述
命名空间域名允许相同 相同的命名空间会合并

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/624436.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Trl SFT: llama2-7b-hf使用QLora 4bit量化后ds zero3加上flash atten v2单机多卡训练(笔记)

目录 一、环境 1.1、环境安装 1.2、安装flash atten 二、代码 2.1、bash脚本 2.2、utils.py 注释与优化 2.3、train.py 注释与优化 2.4、模型/参数相关 2.4.1、量化后的模型 2.4.1.1 量化后模型结构 2.4.1.2 量化后模型layers 2.4.2、参数 2.4.2.1 training args 2.4.2.2 pe…

Qt | 事件第二节

Qt | 事件第一节书接上回 四、事件的接受和忽略 1、事件可以被接受或忽略,被接受的事件不会再传递给其他对象,被忽略的事件会被传递给其他对象处理,或者该事件被丢弃(即没有对象处理该事件) 2、使用 QEvent::accept()函数表示接受一个事件,使用 QEvent::ignore()函数表示…

记一次Mysql数据库宕机This could be because you hit a bug.

Hi I’m Shendi 今天收到消息说所有软件不能用了,网页都打不开,遇到了问题,于是在这里记录一下 记一次Mysql数据库宕机This could be because you hit a bug. 起因 为了节省成本,对于小公司而言服务器数量通常不会太多&#xff…

2024年面试工具篇Postman面试题及答案

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

WIN7用上最新版Chrome

1.下载WIN10最新版Chrome的离线安装包 谷歌浏览器 Chrome 最新版离线安装包下载地址 v123.0.6312.123 - 每日自动更新 | 异次元软件 文件名称:123.0.6312.123_chrome_installer.exe。 123.0.6312.123_chrome_installer.exe 文件右键解压缩得到 chrome.7z&#x…

App Inventor 2 构建多屏幕App的最佳实践

导读 本文源自AppInventor2中文网(https://www.fun123.cn)文档,系英文原版翻译,主要倡导开发拥有多个屏幕的App时,建议在一个屏幕上拖动多个布局组件(水平or垂直布局),用代码块通过“…

500以内的不入耳运动耳机推荐,首推五大业内顶级优品

不入耳式运动耳机因其独特的佩戴方式和设计,能够在运动过程中保持对周围环境的警觉,避免因音乐沉浸而忽视潜在的安全隐患,同时它们还能有效减少对耳道的压迫,让运动更加舒适自在,接下来,就让我为大家推荐一…

JavaEE:HTTP协议

基本内容 网站 后端(HTTP服务器) 前端(浏览器),而后端和前端都需要遵循HTTP协议 HTTP属于超文本传输协议,存在于应用层 文本:一般能在utf8或者gbk上找到的合法字符串 超文本:不仅…

CC工具箱使用指南:【获取相邻四至信息(L丶s丶M)】

一、简介 群友定制工具。 这个功能适用面相对比较广。说起来也很简单,就是把一个宗地或地块的四至信息抄录到给定的字段中。 要处理的要素可以是宗地图,也可以是用地图。这里以宗地图为例: 需要做的是,将每地块宗地的东西南北4…

LoopAnimate、LLM-Seg、DreamScape、LoopGaussian、TransformerFAM

本文首发于公众号:机器感知 ​LoopAnimate、LLM-Seg、DreamScape、LoopGaussian、TransformerFAM Lossless Acceleration of Large Language Model via Adaptive N-gram Parallel Decoding While Large Language Models (LLMs) have shown remarkable abilities, …

平稳序列建模 #时间序列分析 #R语言

掌握序列预测的主要内容,熟悉预测的步骤。掌握平稳序列的步骤,能熟练运用R软件实现各个步骤。 训练数据在文末!!! 练习1、根据某城市过去63年中每年降雪量数据(行数据)(题目1数据.tx…

小白菜 macOS github提交代码

目录 1- 在上传的文件下 打开终端 2- 输入命令: 3- 输入命令 有些文件不需要上传 编写ignore文件 4- 编写ignore文件 5- 添加文件至暂存区域 并查看状态 6- 提交 7- 建立远程仓库 8- 连接远程仓库 9- 查看连接成功 10- 获取token免密登录 11- 现在远程仓…