C++ 命名空间学习记录

本文章仅仅是自己的学习记录,请各大读者谨慎参考

引言:
        在一个项目中会定义大量的全局变量,为了使这些变量不冲突,我们分割了全局命名空间,其中被分割的每一个命名空间都是一个特有的域。我们可以在自己的域中定义自己的名字。

命名空间的定义:

namespace "name"
{
    class "类名"{/**/};//可以定义类

    int x = 0;//可以声明变量以及初始化

    void x(){};//声明以及定义函数
    
    namespace "name"{}; //可以定义其他命名空间

    std::vector<int> x; //可以定义模板
}
//没有分号
//不可以定义函数和类的内部

使用:
        命名空间内的成员可以相互使用。

        其他作用域要访问本命名空间内的成员时候需要加上命名空间的名       

"name"::x = new "name"::x();

        命名空间可以是不连续的。我们怎么理解她呢,就是我们可以在不同的地方都可以打开命名空间并且为其添加新的成员。命名空间只是将一个全局空间分割成许多小的空间。但其空间的性质并为改变,我们在使用命名空间时,一定要记住他解决的问题,以他解决的问题来使用他。

eg:

//x.h

namespace c
{
    void x();
}

//x.cpp

#include "x.h"

void c::x()
{
    
}

//函数不能重复定义 命名空间不可以当作接口使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值