Login
网站首页 > 文章中心 > 其它

c命名空间有什么作用_C#里的命名空间是什么意思?

作者:小编 更新时间:2023-07-21 10:38:58 浏览量:338人看过

一、命名空间是为了解决"在相同作用域内如何区分相同的标识符"。

说明:

(1) 只有在相同作用域的情况下才能使用到命名空间去区分标识符,在嵌套的作用域、不同的作用域区分标识符都用不到命名空间的概念。

(2)在相同的作用域内,

如果命名空间相同,标识符必须不同;

如果命名空间不同,标尺含烂识符可以相同。

二、按照C99,命名空间分为四种:

(1) 所有的标签(label)都属于同一个命名空间。

(2) struct、union和enum的名称,在C99中称之为tag,所有的tag属于同一个命名空间。

也就是说,如果你已经声明struct A { int a }; 就不能再声明 union A { int a };

说明:之所以让所有的tag组成一个命名空间,由于tag前面总是带struct、union和enum关键字,所以编译器可以将它们与其他的标识符区分开。

(3) struct和union的成员位于它们各自struct或union命名空间下,相互独立互不老亮影响,并且可以形成递归的命名空间(如struct中在定义struct)。

例如:如果你已经声明 struct A { int a };其成员的名称为a,你仍然可以声明 struct B { int a}; 或者 union B { int a };

"运算符,而不会单独使用,所以编译器可以将它们与其他的标识符区分开。由于枚举类型enum的成陵漏员可以单独使用,所以枚举类型的成员不在这一名称空间类。

(4) 其他所有的标识符,属于同一个命名空间。包括变量名、函数、函数参数,宏定义、typedef的类型名、enum的成员等等。

注意:如果标识符出现重名的情况,宏定义覆盖所有其它标识符,这是因为它在预处理阶段而不是编译阶段处理。除了宏定义之外其它类别的标识符,处理规则是:内层作用域会隐藏掉外层作用域的标识符。

c没有,这是c◆◆引入的概念

就好比计算机里的所有文件核改或败用文件夹嵌套隔开一样,音乐就放到【音乐】文件夹里,游戏就放到【游戏】文件夹里,.........

C#是语言

命名世祥神空间可以指定你当前可以调用的方法,宴滚比如搜亏缺少using System.Data.Sql;你就不能实现连数据库等命令。

C#是谈滑冲一种语言名称而已,英文名C sharp 命名空间说白了就是"文件夹目录",根目录是含歼system 和数据相关方法和函数在system/Data目录里,引用时using system.data等。。。让歼

防止命名污染

避免命名冲突,以前C语言的时候,函数都是全局的,很容易与自己定义的函数重名。

以上就是土嘎嘎小编大虾米为大家整理的c命名空间有什么作用_C#里的命名空间是什么意思?相关主题介绍,如果您觉得小编更新的文章对您有所帮助,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章