上传新文件

上级 7a569a28
/*名称空间:
*在C++中,名称可以是变量、函数、结构、枚举、类以及类和结构的成员。
当随着项目的增大,名称相互冲突的可能性也将增加。使用多个厂商的类库时,
可能导致名称冲突。例如,两个库可能都定义了名为List、Tree和 Node的类,但定义的方式不兼容。
用户可能希望使用一个库的 List类,而使用另一个库的Tree类。这种冲突被称为名称空间问题。
*
C++标准提供了名称空间工具,以便更好地控制名称的作用域。
经过了一段时间后,编译器才支持名称空间,但现在这种支持很普遍。
*/
//介绍C++中新增的名称空间特性之前,先复习一下C++中已有的名称空间属性,
//1.声明区域( declaration region)
/*
*声明区域是可以在其中进行声明的区域。
例如,可以在函数外面声明全局变量,对于这种变量
,其声明区域为其声明所在的文件。对于在函数中声明的变量
,其声明区域为其声明所在的代码块。
*/
//2.潜在作用域( potential scope)。
/*
*变量的潜在作用域从声明点开始,到其声明区域的结尾。
因此潜在作用域比声明区域小,这是由于变量必须定义后才能使用。
*/
//注意:
/*
*变量并非在其潜在作用域内的任何位置都是可见的。
例如,它可能被另一个在嵌套声明区域中声明的同名变量隐藏。
例如,在函数中声明的局部变量(对于这种变量,声明区域为整个函数)
将隐藏在同一个文件中声明的全局变量(对于这种变量,声明区域为整个文件)。
变量对程序而言可见的范围被称为作用域(scope),前面正是以这种方式使用该术语的。
*/
/*
*C++关于全局变量和局部变量的规则定义了一种名称空间层次。
每个声明区域都可以声明名称,这些名称独立于在其他声明区域中声明的名称。
在一个函数中声明的局部变量不会与在另一个函数中声明的局部变量发生冲突。
*/
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册