无名namespace的作用

编程入门 行业动态 更新时间:2024-10-24 18:27:15

无名namespace的<a href=https://www.elefans.com/category/jswz/34/1768738.html style=作用"/>

无名namespace的作用

以上介绍的是有名字的命名空间,C++还允许使用没有名字的命名空间,如在文件A中声明了以下的无名命名空间:

namespace //命名空间没有名字

{ void fun( ) //定 义命名空间成员

{ cout<<"OK."<<endl;}

}

由于命名空间没有名字,在其他文件中显然无法引用,它只在本文件的作用域内有效。无名命名空间的成员fun函数的作用域为文件A(确切地说,是从声明无名命名空间的位置开始到文件A结束)。在文件A中使用无名命名空间的成员,不必(也无法)用命名空间名限定。

如果 在文件A中有以下语句:

fun();

则执行无名命名空间中的成员fun函数,输出”OK.”。

在本程序中的其他文件中也无法使用该fun函数,也就是把fun函数的作用域限制在本文件范围中。可以联想到:在C浯言中可以用static声明一个函数,其作用也是使该函数的作用域限于本文件。C++保留了用static声明函数的用法,同时提供了用无名命名空间来实现这一功能。随着越来越多的C++ 编译系统实现了ANSI C++建议的命名空间的机制,相信使用无名命名空间成员的方法将会取代以前习惯用的对全局变量的静态声明。

更多推荐

无名namespace的作用

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

发布评论

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

>www.elefans.com

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