命名空间及其用法(C++)

题记:命名空间下 不知道是不是还可以自己定义一些子空间,在代码里看到这样的写法,甚是疑惑。

一、什么是命名空间

通俗意义上说,每个命名空间都有自己的作用域,作用域的函数名,类名等是不可以重复的,唯一的。但是可以和其他命名空间的函数重名。这样就可以解决大型工程中函数名重复的问题。
1、全局变量的作用域是整个程序,在同一作用域中不应有两个或多个同名的实体(enuty),包括变量、函数和类等。

可以通过extern声明同一程序中的两个文件中的同名变量是同一个变量。如果在文件B中有以下声明:
extem int a;
表示文件B中的变量a是在其他文件中已定义的变量。由于有此声明,在程序编译和连接后,文件A的变量a的作用域扩展到了文件B。如果在文件B中不再对a赋值,则在文件B中用以下语句输出的是文件A中变量a的值: cout<

2.编写命名空间

   namespace namespace_name
   {
	//declarations
   }

此种方式,如果已经存在一个namespace_name命名空间,则是打开已有的命名空间,添加一部分进去;如果原来没有此名称的命名空间,则是创建一个新的。
3.命名空间可以是不连续的

  与其他作用域不同,命名空间可以在几个部分中定义。命名空间由它的分离定义部分的总和构成,命名空间是累积的。一个命名空间的分离部分可以分散在多个文件 中,在不同文本文件中的命名空间定义也是累积的。就像上面说的那样,一个存在的命名空间去在里面不停的累加一些东西。
4.接口和实现的分离
  命名空间定义可以不连续意味着,可以用分离的接口文件和实现文件构成命名空间,因此,可以用于管理自己的类和函数定义相同的方法来组织命名空间:

命名空间定义可以不连续意味着,可以用分离的接口文件和实现文件构成命名空间,因此,可以用于管理自己的类和函数定义相同的方法来组织命名空间:
(1)定义类的命名空间成员,以及作为类接口的一部分的函数声明与对象声明,可以放在头文件中,使用命名空间成员的文件可以包含这些头文件。
(2)命名空间成员的定义可以放在单独的源文件中。

二、命名空间的具体工程用例

原文链接: https://www.cnblogs.com/dahai123/p/9357023.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    命名空间及其用法(C++)

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/278053

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 上午3:06
下一篇 2023年2月15日 上午3:07

相关推荐