C++ 学习 之 名字空间 namespace

编程入门 行业动态 更新时间:2024-10-26 05:18:56

C++ 学习 之 <a href=https://www.elefans.com/category/jswz/34/1770630.html style=名字空间 namespace"/>

C++ 学习 之 名字空间 namespace



必须在模块里面 extern 声明


在一个 cpp 文件中, 一个namespace 可以多次定义,最后合并,使用 using namespace A 这种引入方式的话,使用的时候可以用所有 A 中的数据
多个 cpp 文件的话,不能会自动合并相同的 名字空间,(但是匿名的名字空间不会合并)所以不能重复定义

namespace A {int a = 0;void fun();
}using  A::a;namespace A {int b = 1;
}int main()
{std:: cout << b <<std:: endl;
}

如果是上面的写法的话,不能使用没有引入的名字空间里面的变量和函数
改成下面的就是对的

namespace A {int a = 0;void fun();
}using  A::a;namespace A {int b = 1;
}
using A::b;int main()
{std:: cout << b <<std:: endl;
}

namespace A {int a = 0;void fun();
}using namespace A;
int a = 1;int main()
{std:: cout << a <<std:: endl;  // 这个写法是错误的std::cout << ::a << std::endl;  // 输出的是全局变量 astd::cout << A::a << std::endl;  // 输出的是 A 中的变量 a}

要注意的是上面的情况,使用的时候要说明是调用哪一个

更多推荐

C++ 学习 之 名字空间 namespace

本文发布于:2023-12-04 07:42:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1660219.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:名字   空间   namespace

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!