C++命名空间到底有什么作用?请举例说明
展开全部
其实很好理解的,有点类似于类,不同的命名空间下可以有相同名字的变量或函数,举个例子
#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++自己库函数的命名空间,专业的术语就是指标识符的各种可见范围,
由于人类的单词有限,现在的大型程序开发,尤其是各种库之间,不可能没有重名的,而且大型程序不可能一个人完成,难免会有名字重复的变量或函数,这时就需要命名空间来区分
#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++自己库函数的命名空间,专业的术语就是指标识符的各种可见范围,
由于人类的单词有限,现在的大型程序开发,尤其是各种库之间,不可能没有重名的,而且大型程序不可能一个人完成,难免会有名字重复的变量或函数,这时就需要命名空间来区分
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询