其实很好理解的,有点类似于类,不同的命名空间下可以有相同名字的变量或函数,举个例子
#include 《iostream》
namespace aaa
{
void display();
}
namespace bbb
{
void display();
}
void aaa::display()
{
std::cout《《“Hello“《《std::endl;
}
void bbb::display()
{
std::cout《《“sorry“《《std::endl;
}
int main()
{
aaa::display();
bbb::display();//不同的空间下虽然名字相同调用的却不是同一个函数
return 0;
}
aaa空间里的display()函数可以和bbb空间的display()函数互不干扰,而std空间里的函数是C++自己库函数的命名空间,专业的术语就是指标识符的各种可见范围,
由于人类的单词有限,现在的大型程序开发,尤其是各种库之间,不可能没有重名的,而且大型程序不可能一个人完成,难免会有名字重复的变量或函数,这时就需要命名空间来区分
命名空间(namespace)的作用就好比分地盘,便于集中管理,c#是完全面向对象的语言,所有对象的类型定义都必须是在某个命名空间下定义,所有的方法都必须包含类型定义中,好比人(方法)必须属于某个市(类型定义),这个市又必须属于某个省(命名空间)。
C#中的类是利用命名空间组织起来的。命名空间提供了一种从逻辑上组织类的方式,防止命名冲突。
命名空间声明
用namespace 关键字用于声明一个命名空间。此命名空间范围允许您组织代码并为您提供了创建全局唯一类型的方法。
namespace name
{
类型定义
}
其中:在命名空间中,可以声明类、接口、结构、枚举、委托 命名空间。
如果未显式声明命名空间,则会创建默认命名空间。该默认的命名空间(有时称为全局命名空间)。全局命名空间中的任何标识符都可用于命名的命名空间中。
命名空间声明可以作为顶级声明出现在编译单元中,当命名空间声明作为顶级声明出现在编译单元中时,该命名空间成为全局命名空间的一个成员。
命名空间声明出现在另一个命名空间声明内时,该内部命名空间就成为包含着它的外部命名空间的一个成员。
无论是何种情况,一个命名空间的名称在它所属的命名空间内必须是唯一的。命名空间隐式地为 public,而且在命名空间的声明中不能包含任何访问修饰符。
命名空间的作用就好比分地盘,便于集中管理,c#是完全面向对象的语言,所有对象的类型定义都必须是在某个命名空间下定义,所有的方法都必须包含类型定义中,好比人(方法)必须属于某个市(类型定义),这个市又必须属于某个省(命名空间)。
C#里的命名空间是使用一种代码组织的形式通过名称空间来分类。
命名空间是用来组织和重用代码的,不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了。
为了解决这个问题,引入了名字空间这个概念,通过使用namespacexxx;所使用的库函数或变量就是在该名字空间中定义的,这样一来就不会引起不必要的冲突了。
命名空间是唯一识别的一套名字,使用扩展标记语言的时候,XML的命名空间是所有元素类别和属性的集合。元素类别和属性的名字是可以通过唯一XML命名空间来唯一。
扩展资料
定义命名空间
1、命名空间的定义是以关键字namespace开始
namespacenamespace_name
{
//代码声明
}
2、为了调用支持命名空间版本的函数或变量,会把命名空间的名称置于前面
namespace_name.item_name;
System 命名空间包含了定义数据类型、事件和事件处理程序等基本类;
System.Data 命名空间包含了提供数据访问功能的命名空间和类;
System.IO 命名空间包含了数据流读写相关功能的类;
System.Windows.Forms 命名空间包含了Windows 窗体开发所需要的工具和窗体类;
System.Web 命名空间包含了所有网站开发相关的命名空间和类。
Microsoft.Csharp
包含支持用C#语言进行编译的代码
Microsoft.Jscript
包含支持用Jscript语言进行编译和代码生成的Jscript运行库和类
Microsoft.VisualBasic
包含Visual Basic.NET运行库。此运行库于Visual Basic.NET语言一起使用。此命名空间包含支持Visual Basic.NET语言进行编译和代码生成类。
Microsoft.Win32
提供两种类型的类:处理由操作系统引发的事件的类和对系统注册表进行操作的类。
System
最重要的类,包含用于定义常用值和引用数据类型、事件和事件处理程序、接口、属性、和处理异常的基础类和基类。
System.CodeDom
包含用于表示源代码文档的元素和结构的类
System.CodeDom.Compiler
包含源代码模型的结构,管理源代码所生成的编译的类。
System.Collections
包含定义各种对象集合(如列表、队列、位数组、散列表和词典)的接口和类。
System.Collections.Specialized
包含中用的强类型集合;例如,链接表词典、位向量以及值包含字符串的集合。
System.CommponentModel
提供用于实现组件和空间的运行时和设计时行为的类。此命名空间包括用于属性和类型转换器的事件、数据源绑定和组件授权的基类和接口。
Sys
姓名:
年龄:
电话: