名字空间
2005-04-15 16:49
162 查看
namespace X{ f();...}
使用声明:可以访问名字空间中成员(单个) 推荐使用! using X::f;
使用指示:直接访问名字空间的全部成员 using namespace X;
不允许将使用指示作为类的成员,而可以将使用声明作为类的成员。
可以为长的名字空间提供短的别名 :namespace ATT=American_Telephone_and_Telegraph;
还可以使用名字空间管理版本问题。
匿名名字空间在其他方面与别的名字空间完全一样,只是不需要去说 它的名字罢了。
如namespace {... }等价于namespace unique_name { ... }
using namespace unique_name;
局部声明的名字遮蔽名字相同的非局部声明,
::f的意思是"在全局作用域里声明的那个f",X::f意味着"在名字空间X里声明的那个f"
!全局变量应该是与main函数在同一个级别上,并且与main函数不属于同一个名字空间)
一个类在某种意义下就是一个名字空间,对名字空间可以做的所有操作都能够在同样意义下
应用到类上,除非某个操作是类所明确禁止的。
#include
//int b=3;
namespace X
{
int a=1;
int b=2;
}
using namespace X;
using std::cout;
using X::b;
void main()
{ //int i1=::a;
int i2=::b;
//cout<<"i1 is"<
使用声明:可以访问名字空间中成员(单个) 推荐使用! using X::f;
使用指示:直接访问名字空间的全部成员 using namespace X;
不允许将使用指示作为类的成员,而可以将使用声明作为类的成员。
可以为长的名字空间提供短的别名 :namespace ATT=American_Telephone_and_Telegraph;
还可以使用名字空间管理版本问题。
匿名名字空间在其他方面与别的名字空间完全一样,只是不需要去说 它的名字罢了。
如namespace {... }等价于namespace unique_name { ... }
using namespace unique_name;
局部声明的名字遮蔽名字相同的非局部声明,
::f的意思是"在全局作用域里声明的那个f",X::f意味着"在名字空间X里声明的那个f"
!全局变量应该是与main函数在同一个级别上,并且与main函数不属于同一个名字空间)
一个类在某种意义下就是一个名字空间,对名字空间可以做的所有操作都能够在同样意义下
应用到类上,除非某个操作是类所明确禁止的。
#include
//int b=3;
namespace X
{
int a=1;
int b=2;
}
using namespace X;
using std::cout;
using X::b;
void main()
{ //int i1=::a;
int i2=::b;
//cout<<"i1 is"<
相关文章推荐
- XML名字空间
- [C++基础]002_名字空间(namespace)
- C++基础,名字空间、C++函数重载的实现原理
- 关于C++名字空间
- Windows外壳名字空间的浏览
- 【转】Qt中Ui名字空间以及setupUi函数的原理和实现
- Qt中Ui名字空间以及setupUi函数的原理和实现
- Windows外壳名字空间的浏览
- Qt中Ui名字空间以及setupUi函数的原理和实现
- 名字空间在XML中的应用(原创)
- MSN上关于C++的异常处理和名字空间的聊天记录
- 使用Web标准建站第2天:什么是名字空间
- C++名字空间详解
- Qt中Ui名字空间以及setupUi函数的原理和实现
- C++必知必会之(23)名字空间
- 第10章 包 名字空间,变量和函数
- WEB标准略解(一):DOCTYPE、名字空间、语言编码、样式表等
- 闲话WPF之三(XAML的名字空间)
- 【python】locals()、globals()与名字空间
- Windows外壳名字空间的浏览