C++-命名空间

一、命名空间简介


        在C++中,命名空间是一种组织代码的方式,它可以帮助避免全局变量和函数的名字冲突。一个命名空间可以包含变量、函数、类以及其他命名空间。

二、命名空间的基本语法

namespace MyNamespace {
                    // 定义变量、函数、类等
}

 三、命名空间的使用方法

 1.完全限定名称:

MyNamespace::MyFunction();

2.使用 using 指令 

        ①.引入单个成员

using MyNamespace::MyFunction;
MyFunction();

        ②.引入整个命名空间 

using namespace MyNamespace;
MyFunction();  // 不需要前缀

   四、具体示例 

#include <iostream>
2
3namespace Example {
4    int x = 5;
5    void print() {
6        std::cout << "Hello from Example namespace." << std::endl;
7        }
8    }
9
10   int main() {
11    // 使用完全限定名称访问命名空间中的成员
12    std::cout << Example::x << std::endl;
13    Example::print();
14
15    // 使用 using 指令引入命名空间中的成员
16    using Example::print;
17    print();
18
19    // 或者引入整个命名空间
20    using namespace Example;
21    print();
22
23    return 0;
24    }

此示例中:运用了命名空间的三种引用方式,大家可以详细看一下。

另外可以把命名空间定义在头文件


五、命名空间的作用与适用场景 

1.引用外部库过多时,可能会不可避免的遇到一个变量名被多个库同时使用,此时为了避免程序出现错误,可以使用完全限定名称引用方式去避免这种麻烦

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++中自定义命名空间(namespace)的作用是为了避免命名冲突,类似于文件夹的概念,可以将相似的变量、函数、类等放在一个命名空间中进行管理。在一个命名空间中定义的名称只在该命名空间中有效,不会与其他命名空间中定义的名称发生冲突。 C++中自定义命名空间的使用方法有三种,分别是: 1.使用命名空间前缀,即在变量、函数、类等前加上命名空间的名称和作用域解析符(::),例如:`spaceA::aaa`。 2.使用using声明,即使用`using namespace 命名空间名`声明使用命名空间,例如:`using namespace spaceA`。 3.使用using编译指令,即在代码中使用`using 命名空间名::名称`的方式声明使用命名空间,例如:`using spaceA::aaa`。 下面是一个使用using声明的例子:[^1] ```c++ #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; namespace spaceA { // 自定义命名空间spaceA int aaa = 10; } using spaceA::aaa; // 声明命名空间spaceA中的变量aaa int main() { // 使用using声明的方式访问命名空间中定义的变量 cout << aaa << endl; // 输出:10 return 0; } ``` 下面是一个使用命名空间前缀的例子: ```c++ #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; namespace spaceA { // 自定义命名空间spaceA int aaa = 10; } int main() { // 使用命名空间前缀的方式访问命名空间中定义的变量 cout << spaceA::aaa << endl; // 输出:10 return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值