C/c++中命名空间名称空间有什么用

  介绍

这篇文章主要介绍C/c++中命名空间名称空间有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

概述

命名空间(名称空间)可以帮助我们区分不同库中相同名称的函数,类,变量等。使用了命名空间即定义了上下文。命名空间就是定义了一个范围。

 C/c++中命名空间名称空间有什么用“> </p> <h3>命名空间</h3> <p>为了解决c++标准库中的标识符与程序中的全局标识符之间以及不同库中的所有标识符之间的命名冲突。标准c++库的所有标识符都定义在一个名为性病的命名空间中。在程序中用到c++标准库时,使用std作为限定。</p> <p>我们在写“Hello World”的时候就曾用到过命名空间(名称):</p> <p> <img src= <李>

自定义函数与标准库函数重名

<李>

程序中使用的名字与第三方库中名称相同

<李>

同一项目不同模块中名字的冲突

命名空间的机制,对于声明于其中的名称都进行了本地化:

<李>

相同的名称可以在不同的上下文中使用,而不会引起名称的冲突

<李>

c++中的标准库被定义到性病命名空间中,减少了与用户自定义名称的冲突

<李>

在自己的程序中创建自己的命名空间,避免本地化名称与外界冲突

 C/c++中命名空间名称空间有什么用“> </p> <h3>自定义命名空间</h3> <p>我们可以自己定义命名空间。我们把一些全局分别放在各个名字空间,从而与其他全局实体分隔开来。</p> <p>格式:</p> <pre类= namespace 命名空间名,{,   ,,,声明;   } <李>

变量(可以带有初始化)及常量

<李>

函数(可以是定义或声明)

<李>

结构体

<李>

<李>

模板

<李>

命名空间(在一个命名空间中又定义一个命名空间,即嵌套的命名空间)

命名空间的作用是建立一些互相分隔的作用域。把一些全局实体分隔开来,以免产生名字冲突。

命名空间成员的方法

一般方法:引用命名空间成员时,用命名空间名对名命名空间成员进行限定,以区别同名标识符。(命名空间:命名空间成员名)

简化使用命名空间成员的机制:

<李>

使用命名空间别名:名称空间电视=电视;//电视等同电视

<李>

使用格式:使用命名空间成员名使用ns1::学生;//学生等同ns1::学生

<李>

使用:使用名称空间命名空间名

案例

h2。h:

# ifndef  PROJECT8_H1_H   # define  PROJECT8_H1_H      namespace  kitchen  {   ,,,class  Table  {   私人:,,,   ,,,,,,,int 腿;   ,,,,,,,int 价格;   ,,,公众:   ,,,,,,,表(l, int  int  p) {   ,,,,,,,,,,,legs =, l;   ,,,,,,,,,,,price =, p;   ,,,,,,,}   ,,,};   }      # endif //PROJECT8_H1_H

h3。h:

# ifndef  PROJECT8_H2_H   # define  PROJECT8_H2_H      namespace  office  {   ,,,class  Table  {   私人:,,,   ,,,,,,,int 行;   ,,,,,,,int 关口;   ,,,公众:   ,,,,,,,表(r, int  int  c) {   ,,,,,,,,,,,rows =, r;   ,,,,,,,,,,,cols =, c;   ,,,,,,,}   ,,,};   }      # endif //PROJECT8_H2_H

面。cpp:

# include  & lt; iostream>   # include “h2.h"   # include “h3.h"   using  namespace 性传播疾病;      int  main (), {   ,,,厨房:Table  t1 (6, 300);   ,,,办公室:Table  t2 (6,, 2);      ,,,return  0;   }

以上是“C/c++中命名空间名称空间有什么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

C/c++中命名空间名称空间有什么用