命名空间怎么写( 二 )


所以就有了诸如<iostream.h>;和<iostream>;这样的head文件,一种是与以前的C语言代码兼容,另一种是支持新标准 。
扩展资料:
C语言中调用using namespace std的意义:
1、在同一命名空间、相同作用域中,任何名字须具有唯一性 。
2、每个结构和联合内部都有自己的命名空间(独立于其他空间) 。
3、结构标签、联合标签、枚举标签共用一个命名空间(独立于其他空间) 。
4、goto使用的标签名,只要在同一函数内部唯一(独立于其他空间) 。
5、所有其他情况共用一个命名空间,如变量、所有枚举常量、typedef定义的别名等(独立于其他空间) 。
参考资料来源:搜狗百科-namespace
5.c++命名空间具体表现究竟是什么#include <iostream>
using namespace std;
namespace NameSpaceA//namespace为关键字,NameSpaceA为定义的命名空间
{
int a = 0;//在NameSpaceA中定义一个a
}
namespace NameSpaceB//定义另一个命名空间
{
int a = 1;//在NameSpaceB中定义一个a,这两个a的访问
namespace NameSpaceC//嵌套
{
struct Teacher
{
char name[10];
int age;
};
}
}
int main()
{
using namespace NameSpaceA;//使用方法一:在最前面写上就像using namespace std;
printf("a= %d\n", a);//这个a就是NameSpaceA里面的a了
printf("a= %d\n", NameSpaceB::a);//使用方法2,空间名::变量
//方法一使用Teacher
using namespace NameSpaceB::NameSpaceC;
Teacher t1 = {"aaaaa", 25};
//方法二使用Teacher
NameSpaceB::NameSpaceC::Teacher t2 = {"bbbbbb", 22};
return0;
}另外,std是c++标准命名空间,c++标准程序库中的所有标识符都被定义在std中,比如标准库中的类ostream 、istream等 。但是在头文件iostream中并没有声明这一空间,需要程序员手动写上using namespace std; 如果不写,则在使用std::cout<<"hello 。"<<endl;这样的格式 。
命名空间是为了防止使用C++做大型程序的时候发生串包 。
欢迎回复讨论
【命名空间怎么写】

命名空间怎么写

文章插图