#include <iostream>
using namespace std;
int main()
{
cout << "hello, world!" << endl;
return 0;
}
using //是编译指令,声明当前命名空间的关键词;可以从他的字面上理解他的意思,䍚翻译称使用;这样
using namespace std; //这句画可以理解成使用命名空间std
//因为cin和cout 都是属于std命名空间下的东西,所以使用时必须加上using namespace std;
//cin和cout可以写 :
std::cin
std::cout
// :: 表示作用域,cin cout属于std命名空间下的东西,所以可以理解成std的cin,和std的cout
为什么要使用命名空间?
有些名字容易冲突,所以会使用命名空间的方式进行区分,具体来说就是价格前缀;
比如C++标准库里面定义了vector容器,我自己也写了个vector类,这样名字就冲突了,于是标准库里的名字都加上std::的前缀,就必须用std::vector来引用;同理,自己定义的类也可以加个自定义的前缀;但是经常写全名回很繁琐,所以在没有冲突的情况下可以偷懒,写一句 using namespace std; 接下去的代码就可以不用写前缀而直接写vector了。
#include <iostream>
using namespace std;
namespace TEST //自定义一个命名空间TEST; 里面定义一个变量x 并赋值1;还定义了一个函数func()
{
int x = 1;
void func(){
cout << "TEST namespace" << endl;
}
}
using namespace TEST; //声明使用命名空间TEST
int main()
{
func();
TEST::x = 3; //将命名空间TEST下的x 重新赋值为3;
cout << TEST::x << endl; //打印出命名空间TEST下的x 的值;
TEST::func(); //调用命名空间TEST下的函数func();
return 0;
}
编译:
g++ umi.cpp -o umi