【C++】命名空间(namespace)

命名空间是用来组织和重用代码的编译单元

在编写代码时写的程序不可能所有的标识符都没有重名现象,在多人协作开发时更加不可控,尤其对于库来说问题更加严重。为了解决重名现象,通过命名空间来避免冲突。

命名空间用于帮助实现代码的管理(代码的封装)

定义:

c++ 复制代码
namespace 命名空间名
{
    命名空间成员
}

作用域访问符:::

命名空间的访问

(1)using声明:开放单个成员的访问权限

基本格式:using 命名空间名::空间成员名;

(2)using指示:开放某个命名空间中所有的成员的访问权限

基本格式:using namespace 命名空间名;

(3)命名空间名称访问:直接使用命名空间名称访问其中的成员,不会开放命名空间权限

基本格式:命名空间名::空间成员名;

给命名空间取别名:namespace 别名=命名空间名

使用命名空间的注意事项

  1. 命名空间中一般不写变量等带内存的东西
  2. 命名空间一般写在头文件中,用于数据类型的声明和功能函数的声明,函数实现还是写在源文件中(命名空间一般分文件编写)
  3. 如果两个命名空间重名,那么就会合并两个命名空间
  4. 命名空间中可以有命名空间(命名空间的嵌套)
相关推荐
万象.1 分钟前
redis客户端安装与实现C++版本
数据库·c++·redis
建军啊10 分钟前
php伪协议、代码审计工具和实战
开发语言·php
WYH28715 分钟前
为什么在cubeide里勾选了can1,生成的工程里没有can.c?
c语言·开发语言
18 分钟前
java关于键盘录入
java·开发语言
马猴烧酒.20 分钟前
JAVA后端对象存储( 图片分享平台)详解
java·开发语言·spring·腾讯云
wearegogog12330 分钟前
基于MATLAB的D2D仿真场景实现
开发语言·网络·matlab
froginwe1132 分钟前
Chart.js 散点图详解
开发语言
独自破碎E34 分钟前
【纵向扫描】最长公共前缀
java·开发语言
nuo53420240 分钟前
C语言实现类似面向对象的三大特性
c语言·开发语言
321.。43 分钟前
深入理解 Linux 线程封装:从 pthread 到 C++ 面向对象实现
linux·开发语言·c++