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

C++的std命名空间

总以为自己懂了,可是仔细想想,多问自己几个问题,发现好像又不是很清楚

命名空间(Namespace)是C++中一种用于解决命名冲突问题的机制,它能够将全局作用域划分为若干个不同的区域,每个区域内可以有相同名称的标识符,但它们之间彼此独立,不会发生冲突。

命名空间提供了一种将相关的函数、类、变量等组织在一起的方式,使得代码更加清晰、模块化和可维护。通过使用命名空间,我们可以避免不同模块之间的命名冲突,并且可以更好地组织和管理代码。

在C++中,我们可以使用namespace关键字来定义命名空间

namespace MyNamespace {int x = 5;void printX() {std::cout << "x = " << x << std::endl;}
}

要在代码中使用命名空间中的成员,我们可以通过命名空间名::成员名的方式进行访问

int main() {MyNamespace::x = 10;MyNamespace::printX();return 0;
}

可以使用using namespace 命名空间名;语句引入命名空间,以便在当前作用域内直接访问命名空间中的成员,而无需加上命名空间前缀

using namespace MyNamespace;
int main() {x = 10;printX();return 0;
}

std是标准库(Standard Library)的命名空间(namespace),标准库是C++语言提供的一组功能强大的函数、类和模板集合,它为开发者提供了各种常用的工具和功能,包括输入输出、容器、算法、字符串处理、文件操作等

#include <string>int main() {std::string str = "Hello, World!";// 使用std::string的成员函数int length = str.length();return 0;
}

但其实我们在初学的时候经常上来直接无脑使用using namespace std;

#include <string>
using namespace std;
int main() {string str = "Hello, World!";// 使用std::string的成员函数int length = str.length();return 0;
}

但需要注意的是,过度使用using namespace可能导致命名冲突,因此应该慎重使用,一般工程项目都是用std::string这样带命名空间的来避免名称冲突和提供代码的可读性

相关文章:

C++的std命名空间

总以为自己懂了&#xff0c;可是仔细想想&#xff0c;多问自己几个问题&#xff0c;发现好像又不是很清楚 命名空间&#xff08;Namespace&#xff09;是C中一种用于解决命名冲突问题的机制&#xff0c;它能够将全局作用域划分为若干个不同的区域&#xff0c;每个区域内可以有…...

unity学习笔记

一、射线检测 如何让鼠标点击某个位置&#xff0c;游戏角色就能移动到该位置&#xff1f; 实现的原理分析&#xff1a;我们能看见游戏的东西就是摄像机拍摄到的东西&#xff0c;所以摄像机的镜平面就是当前能看到的了。 那接下来我们可以让摄像机发射一条射线&#xff0c;鼠标…...

使用SpringBoot和ZXing实现二维码生成与解析

一、ZXing简介 ZXing是一个开源的&#xff0c;用Java实现的多种格式的1D/2D条码图像处理库。它包含了用于解析多种格式的1D/2D条形码的工具类&#xff0c;目标是能够对QR编码&#xff0c;Data Matrix, UPC的1D条形码进行解码。在二维码编制上&#xff0c;ZXing巧妙地利用构成计…...

C++模板—函数模板、类模板

目录 一、函数模板 1、概念 2、格式 3、实例化 4、模板参数的匹配 二、类模板 1、定义格式 2、实例化 交换两个变量的值&#xff0c;针对不同类型&#xff0c;我们可以使用函数重载实现。 void Swap(double& left, double& right) {double tmp left;left ri…...

Monkey

一、Monkey的概念 “猴子测试”是指没有测试经验的人甚至对计算机根本不了解的人&#xff08;就像猴子一样&#xff09;不需要知道程序的任何用户交互方面的知识&#xff0c;如果给他一个程序&#xff0c;他就会针对他看到的界面进行操作&#xff0c;其操作是无目的的、乱点乱按…...

SQL中left join、right join、inner join等的区别

一张图可以简洁明了的理解出left join、right join、join、inner join的区别&#xff1a; 1、left join 就是“左连接”&#xff0c;表1左连接表2&#xff0c;以左为主&#xff0c;表示以表1为主&#xff0c;关联上表2的数据&#xff0c;查出来的结果显示左边的所有数据&#…...

算法学习—排序

排序算法 一、选择排序 1.算法简介 选择排序是一个简单直观的排序方法&#xff0c;它的工作原理很简单&#xff0c;首先从未排序序列中找到最大的元素&#xff0c;放到已排序序列的末尾&#xff0c;重复上述步骤&#xff0c;直到所有元素排序完毕。 2.算法描述 1&#xff…...

在Pycharm中创建项目新环境,安装Pytorch

在python项目中&#xff0c;很多项目使用的各类包的版本是不一致的。所以我们可以对每个项目有专属于它的环境。所以这个文章就是教你如何创建新环境。 一、创建新环境 首先我们需要去官网下载conda。然后在Pycharm下面添加conda的可执行文件。 用conda创建新环境。 二、…...

linux里source、sh、bash、./有什么区别

1、source source a.sh 在当前shell内去读取、执行a.sh&#xff0c;而a.sh不需要有"执行权限" source命令可以简写为"." . a.sh 注意&#xff1a;中间是有空格的。 2、sh/bash sh a.sh bash a.sh 都是打开一个subshell去读取、执行a.sh&#xff0c;而a.…...

IDEA编译器技巧-提示词忽略大小写

IDEA编译器技巧-提示词忽略大小写 写代码时,每次创建对象都要按住 Shift 字母 做大写开头, 废手, 下面通过编译器配置解放Shift 键 setting -> Editor -> General -> Code Completion -> Match case 把这个√去掉, 创建对象就不需要再按住 Shift 键 示例: 1.…...

【MySQL】MySQL安装 环境初始化

MySQL安装 MYSQL官网 安装完成后,傻瓜下一步即可 配置一下环境变量即可 (1) 初始化MySQL, 管理员身份运行 mysqld --initialize-insecure(2) 注册 mysqld mysqld -install# 如果记录以前的版本执行下面指令 mysqld -remove(3) 启动MySQL服务 // 启动mysql服务 net start …...

C# IList 与List区别二叉树的层序遍历

IList 接口&#xff1a; IList 是一个接口&#xff0c;定义了一种有序集合的通用 API。继承自 ICollection 接口和IEnumerable<T>&#xff0c;是所有泛型列表的基接&#xff0c;口它提供了对列表中元素的基本操作&#xff0c;如添加、删除、索引访问等。IList 不是一个具…...

助力android面试2024【面试题合集】

转眼间&#xff0c;2023年快过完了。今年作为口罩开放的第一年大家的日子都过的十分艰难&#xff0c;那么想必找工作也不好找&#xff0c;在我们android开发这一行业非常的卷&#xff0c;在各行各业中尤为突出。android虽然不好过&#xff0c;但不能不吃饭吧。卷归卷但是还得干…...

【动态规划】LeetCode-62.不同路径

&#x1f388;算法那些事专栏说明&#xff1a;这是一个记录刷题日常的专栏&#xff0c;每个文章标题前都会写明这道题使用的算法。专栏每日计划至少更新1道题目&#xff0c;在这立下Flag&#x1f6a9; &#x1f3e0;个人主页&#xff1a;Jammingpro &#x1f4d5;专栏链接&…...

对 Vision Transformers 及其基于 CNN-Transformer 的变体的综述

A survey of the Vision Transformers and its CNN-Transformer based Variants 摘要1、介绍2、vit的基本概念2.1 patch嵌入2.2 位置嵌入2.2.1 绝对位置嵌入(APE)2.2.2 相对位置嵌入(RPE)2.2.3卷积位置嵌入(CPE) 2.3 注意力机制2.3.1多头自我注意(MSA) 2.4 Transformer层2.4.1 …...

MongoDB简介

数据库&#xff0c;顾名思义&#xff0c;是保存数据的地方。中华文化博大精深&#xff0c;短短3个文字&#xff0c;就定义了一个强大的数据管理和读写方式出来。数据库&#xff0c;管理的对象是数据。称为库&#xff0c;表示数据在库中有组织&#xff0c;相互之间有微妙的关系。…...

尚硅谷hadoop3.x课程部分资料文件下载,jdk,hadoopjar包

jdk文件百度云下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1MCiGRzOZY8rAFpRJwA3tdw 提取码&#xff1a;kphl hadoop的jar包&#xff1a; 最新版官网链接&#xff1a; Index of /dist/hadoop/core/stable (apache.org) 百度云下载&#xff0c;3.3.3版&#xf…...

vue el-radio-group多选封装及使用

基于Element UI库的Vue组件&#xff0c;实现了一个单选/多选框组合的效果&#xff0c;可以根据 type 属性的不同值来切换单选框&#xff08;默认&#xff09;和按钮式单选框/多选框。 创建组件index.vue (src/common-ui/radioGroup/index.vue) <template><el-radio-g…...

Kaggle-水果图像分类银奖项目 pytorch Densenet GoogleNet ResNet101 VGG19

一些原理文章 卷积神经网络基础&#xff08;卷积&#xff0c;池化&#xff0c;激活&#xff0c;全连接&#xff09; - 知乎 PyTorch 入门与实践&#xff08;六&#xff09;卷积神经网络进阶&#xff08;DenseNet&#xff09;_pytorch conv1x1_Skr.B的博客-CSDN博客GoogLeNet网…...

TPLink-Wr702N 通过OpenWrt系统打造打印服务器实现无线打印

最近淘到了一个TPLink-Wr702N路由器&#xff0c;而且里面已经刷机为OpenWrt系统了&#xff0c;刚好家里有一台老的USB打印机&#xff0c;就想这通过路由器将打印机改为无线打印机&#xff0c;一番折腾后&#xff0c;居然成功了&#xff0c;这里记录下实现过程&#xff0c;为后面…...

2026最新免费在线去水印软件推荐:性能对比与选择指南

在2026年&#xff0c;处理视频和图片水印已经成为内容创作者和日常用户的常见需求。无论是社交媒体截图、下载的素材&#xff0c;还是自己录制的视频&#xff0c;水印往往会影响最终的呈现效果。那么&#xff0c;免费在线去水印软件哪个好&#xff1f;不同工具间的优缺点对比如…...

【FlinkSQL笔记】(三)Flink SQL 核心重难点(窗口函数、水印)

一、窗口函数 流式数据无限无边界&#xff0c;例如想要统计每5分钟、每1小时的数据&#xff0c;必须用窗口函数&#xff0c;这是Flink SQL和普通SQL最大的区别之一。 1、 滚动窗口 TUMBLE&#xff08;最常用&#xff09; 特点&#xff1a;无重叠、无间隔、固定时长&#xff0c;…...

LangGraph与智能体:当AI学会了“思考图谱”,离真正干活还有多远?

你有没有发现&#xff1a;现在的AI聊天工具虽然能回答五花八门的问题&#xff0c;可一旦交给它稍微复杂点的任务——比如“订一张去上海的机票&#xff0c;顺便查查那边的天气&#xff0c;再帮我写份会议纪要”——它就手忙脚乱&#xff0c;要么忘记前面的信息&#xff0c;要么…...

阅读落地灯哪个牌子好?优质款阅读落地灯推荐,买前建议收藏!

​想要真正舒服又省心的照明&#xff0c;就别只会盯着参数看。说实话&#xff0c;挑护眼大路灯我就盯两点&#xff1a;光线柔不柔、用久了会不会累眼。像我家书桌前那种容易眩光的&#xff0c;我用一会儿就觉得不对劲&#xff1b;但像下面这些护眼大路灯&#xff0c;调光调色做…...

高性价比塑料链板输送机厂家排行适配指南

随着2026年《工业输送设备安全生产通用规范》正式落地&#xff0c;国内输送设备行业的准入门槛和生产标准迎来新一轮调整&#xff0c;新规对各领域使用的输送设备提出了更明确的合规要求&#xff0c;也给中小企业选购设备提供了清晰的参考标准。2026年输送设备安全生产新规核心…...

ZFX山海证券:“消费转向考验零售韧性”

ZFX山海证券&#xff1a;“消费转向考验零售韧性”Target观察到顾客行为出现意外变化&#xff0c;说明通胀和家庭预算压力仍在影响零售消费结构&#xff0c;ZFX山海证券认为&#xff0c;消费者更重视价格和必需品&#xff0c;正在压缩可选品类的增长空间。零售商需要在促销、库…...

ElevenLabs陕西话语音落地实录:从零配置API到高保真秦腔语调还原,7步搞定方言TTS部署

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;ElevenLabs陕西话语音落地实录&#xff1a;从零配置API到高保真秦腔语调还原&#xff0c;7步搞定方言TTS部署 环境准备与API密钥获取 首先注册ElevenLabs账号并进入 Profile → API Keys页面&#xff0c;生成…...

py之代码实现获取字符串中每个字符的unicode值

def print_unicode_values(strings_list):"""接收字符串列表,提取所有字符的Unicode码点并以0x格式升序打印,后面加上对应字符"""unicode_values = set() # 使用集合自动去重for text in strings_list:for char in text...

【Linux】网络基础2---Socket编程预备

&#x1f4cc; 相关专栏 【Linux专栏】【C语言专栏】【测试专栏】 上期回顾【Linux 】网络基础1 文章目录1. 理解源IP地址和目的IP地址2. 认识端口2.1端口号范围划分2.2 理解 "端⼝号" 和 "进程ID"2.3 源端口号与目的端口号2.4 理解Socket2. 传输层的典型代…...

OpenClaw(小龙虾AI)Windows一键部署包v2.7.5|零代码+可视化操作

适配系统&#xff1a;Windows10 64 位&#xff08;纯小白友好版&#xff09; 核心优势&#xff1a;免命令行、免环境配置、解压即装&#xff0c;内置所有运行依赖&#xff0c;全程可视化操作&#xff0c;新手也能一次成功部署 2026 爆火的开源 AI 智能体&#xff01; 本文专属…...