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

本文解释了C++中的命名空间作为一种模块化机制,用于解决同名冲突,以及如何通过定义和使用namespace关键字、using声明和作用域解析运算符来管理代码。通过实例代码展示了如何在实际项目中应用命名空间。
摘要由CSDN通过智能技术生成

命名空间

C++中什么是命名空间?

(个人理解,仅供参考)

就像C++本身中面向对象中的类,是一个相对封闭的结构,将具有某一特定属性的数据、函数、类对象等归为一类放置在该空间内,这个应该是命名空间的主要作用,即模块化。

然后,在各个该类型的结构(空间)中,可能会出现相同名称的变量、函数、类等,那么通过不同命名空间的名称来调用,就可以让程序精确地调用。

比如,A命名空间中有个常量WIDTH,B命名空间中也有个常量WIDTH,那么就可以使用A::WIDTH和B::WIDTH来调用加以区分。

命名空间的定义语法

C++中命名空间的定义使用namespace关键字来实现,具体语法如下:

namespace namespace_name {
   code_block;
}

命名空间的使用语法

使用命名空间,如果该命名空间存在于某一个头文件内(非当前文件),则需要先导入包含进该头文件,然后使用using来调用该命名空间:

using namespace namespace_name;

使用命名空间中的变量、函数、类等,可以通过C++的作用域解析运算符来实现(具体可参考下方的实例代码):

::

命名空间实例代码

#include <iostream>
using namespace std;

namespace test_namespace{
    class Fruit{
        public:
            Fruit(string n){
                name = n;
            }
            string name;
    };

    const string Category = "水果";

}

int main(){
    // 因为test_namespace命名空间就在当前文件中,所以不需要另外导入头文件
    test_namespace::Fruit apple("苹果");
    cout << apple.name << "是一种" << test_namespace::Category << endl;
    return 0;
}

代码编译运行,得到输出:

苹果是一种水果

原文:C++ 命名空间的定义,及使用

免责声明:内容仅供参考,不保证正确性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值