码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-07-23 22:01:32      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:class   一个   声明   作用   创建   作用域   扩展   函数名   子空间   

目录

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

一、什么是命名空间

通俗意义上说,每个命名空间都有自己的作用域,作用域的函数名,类名等是不可以重复的,唯一的。但是可以和其他命名空间的函数重名。这样就可以解决大型工程中函数名重复的问题。
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)命名空间成员的定义可以放在单独的源文件中。

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

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

标签:class   一个   声明   作用   创建   作用域   扩展   函数名   子空间   

原文地址:https://www.cnblogs.com/dahai123/p/9357023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!