传智扫地僧课程学习笔记。
C中只有一个全局作用域,
因此可能发生标识符冲突,
特别是在一些大型项目中,
比如一个信息系统中是用了多个厂商的接口产品,这种情况下,这种问题造成的麻烦就更大了,
因此在C++中引入了,
namespace,
用于控制标识符的作用域,
其中std是C++的标准命名空间,
在此我们通过我们最熟悉的std先来介绍,
在iostream中,是没有定义cin和cout的,
如果要cout<<"hello world"<<endl;
要么在程序开头,显式声明,即using namespace std;
要么就得在用的时候这样写,std::cout<<"hello world"<<std::endl;
接在我们来讲自己定义的命名空间的使用,
#include "iostream"
using namespace std;
// 定义命名空间
namespace namespaceA
{
int a = 10;
}
namespace namespaceB
{
int a = 20;
namespace namespaceC
{
struct Teacher
{
char name[32];
int age ;
};
}
}
//4 使用命名空间
//
void main()
{
using namespace namespaceA;
using namespace namespaceB;
cout<<namespaceA::a<<endl;
cout<<namespaceB::a<<endl;
//显示的, 写全
{
//namespaceB::namespaceC::Teacher t1;
//t1.age = 33;
}
//
using namespaceB::namespaceC::Teacher ;
Teacher t2;
t2.age = 36;
system("pause");
}
C++中,
用“iostream",
而不用”iostream.h",其实有,但是不用,或者说可能已经不支持,从而用不了了,