命名空间(namespace)及其应用技巧

本文通过实例讲解C++中命名空间的概念、使用方法,涉及变量管理、嵌套、using、同名命名空间处理和命名空间与局部/全局变量的关系,帮助开发者提升代码结构和避免冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++ 命名空间及其应用技巧

引言

在C++中,命名空间是一种有效的组织代码和解决命名冲突的方式。通过合理使用命名空间,我们可以更清晰地组织代码结构,使其更易于维护和扩展。本篇博客将通过一些具体的代码案例,介绍C++中命名空间的基本概念、嵌套应用、使用技巧以及与局部、全局变量的交互关系。


代码案例一:不同命名空间的变量和自定义类型

在这个案例中,我们演示了如何在不同命名空间中定义变量和自定义类型,并展示了它们的使用方法。

// 代码案例一
#include <iostream>

using namespace std;

namespace aa
{
   
    int n = 10;
    class TreeNode
    {
   
    public:
        TreeNode* left = nullptr;
        TreeNode* right = nullptr;
        int val = 8;
    };
}

namespace bb
{
   
    int n = 20;
    class TreeNode
    {
   
    public:
        TreeNode* left = nullptr;
        TreeNode* right = nullptr;
        int val = 13;
    };
}

void test1()
{
   
    // 获取不同命名空间中的内置类型变量的值
    cout << aa::n << endl;
    cout << bb::n << endl;
    
    // 使用、获取自定义类型
    aa::TreeNode root_a;
    bb::TreeNode root_b;
    
    if (root_a.val == root_b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

螺蛳粉只吃炸蛋的走风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值