栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++命名空间与缺省

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++命名空间与缺省

命名空间---一般放在.h

解决命名冲突

        库函数/项目组中成员与自己定义的变量名冲突了。

里面几乎都可以定义(函数,类,基本数据类型)

域作用限定符::

        局部优先

        空白域默认全局域,因此如果全局a与局部a同时存在,可以::a来访问全局a

作用域与生命周期问题:

        形成命名空间域,在全局范围内定义:属于全局的,生命周期也是全局的

嵌套命名空间定义

//. 命名空间可以嵌套
namespace N2
{
    int a;
    int b;
    int Add(int left, int right)
    {
        return left + right;
    }
    namespace N3
    {
        int c;
        int d;
        int Sub(int left, int right)
        {
        return left - right;
        }
    }
}

有助于分类。

命名空间的使用有三种方式:


        1.加命名空间名称及作用域限定符

int main()
{
    //A是个命名空间
    printf("%dn", A::a);
    return 0;
}

         2.使用using将命名空间中成员引入---常用

using A::b;
int main()
{
    printf("%dn", N::a);
    printf("%dn", b);
    return 0;
}

         3:使用using namespace 命名空间名称引入---不要冲突,一般只放单独的几个

using namespce A;
int main()
{
    printf("%dn", A::a);
    printf("%dn", b);
    Add(1, 2);
    return 0;
}

缺省

全缺省与半缺省

重点:半缺省

注意点

 

void Test(int a, int b = 11, int c = 22)
{
    cout<<"a = "<

因为你使用的时候,总不能这样写Test( ,1,2);...这样是编译不过去的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/960352.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号