namespace专题讲座
王保明
1 namespace概念
谓namespace指标识符种见范围C++标准程序库中标识符定义名stdnamespace中
:
1)
2)
二: namespace概念C++标准程序库标识符时三种选择:
1直接指定标识符例stdostreamostream完整语句: stdcout << stdhex << 34 << stdendl
2using关键字 using stdcout using stdendl using stdcin 程序写成 cout << stdhex << 34 << endl
3方便using namespace std 例: using namespace std样命名空间std定义标识符效(曝光)声明全局变量样语句写 cout <
2 c++命名空间定义语法
*
C++中名称(name)符号常量变量宏函数结构枚举类象等等避免
规模程序设计中程序员种样C++库时标识符命名发生突
标准C++引入关键字namespace(命名空间名字空间名称空间名域)更控制标识符作域
*
*
stdc++标准命名空间c++标准程序库中标识符定义std中标准库中类iostreamvector
等定义该命名空间中时加using声明(using namespace std) using指示(stdstring
stdvector
*
*
C中命名空间
C语言中全局作域
C语言中全局标识符享作域
标识符间发生突
C++中提出命名空间概念
命名空间全局作域分成部分
命名空间中标识符名会发生突
命名空间相互嵌套
全局作域默认命名空间
*
*
C++命名空间定义:
namespace name { … }
*
*
C++命名空间:
整命名空间:using namespace name
命名空间中变量:using namevariable
默认命名空间中变量:variable
默认情况直接默 认命名空间中标识符
*
3 C++命名空间实践
namespace NameSpaceA
{
int a 0
}
namespace NameSpaceB
{
int a 1
namespace NameSpaceC
{
struct Teacher
{
char name[10]
int age
}
}
}
int main()
{
using namespace NameSpaceA
using NameSpaceBNameSpaceCTeacher
printf(a d\n a)
printf(a d\n NameSpaceBa)
Teacher t1 {aaa 3}
printf(t1name s\n t1name)
printf(t1age d\n t1age)
system(pause)
return 0
}
4 结
1)
2) c++标准C区开正确命名空间规定头文件缀h
3) C++命名空间定义: namespace name { … }
4) using namespace NameSpaceA
5)namespce定义嵌套
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档