首先我们先看一下下面这段代码运行时的情况(注意按ctrl+F5 运行)
#include<iostream>
int main()
{
return 0;
}
运行结果如下
是一个没有任何结果的窗口
现在我们再加上一段输出代码
cout<<"hello"<<endl;
会发现编译运行时出现了错误,显示wei3声明的标识符其实就是少了工作空间 std的引入
如果引入工作空间 就不会出现下面错误
using namespace std;
在C++中可以引入已经定义好了的工作空间,同时也可以自己定义工作空间。上面的代码是等同于下面这段代码的
#include<iostream>
int main()
{
std::cout<<"hello"<<std::endl;
return 0;
}
运行出来的结果完全一样,也就是说在整个程序前面引入这个std工作空间,就可以节省繁琐的“std::”,这样便于程序员编写代码。
比如我现在自定义两个命名空间A和B
然后分别对其进行相应的输出
代码如下
#include<iostream>
using namespace std;
namespace A{
int x=1;
void f(){
cout<<"A"<<endl;
}
}
namespace B{
int x=2;
void f(){
cout<<"B"<<endl;
}
}
int main()
{
cout<<A::x<<endl;
B::f();
return 0;
}
输出结果为
1
B
另外给出一个实例供参考
namespace实例
#include <iostream>
#include <stdlib.h>
using namespace std;
namespace sp //填写命名空间的关键字
{
int x = 105;
}
int main()
{
// 使用bool类型定义isOdd,作为状态位
bool isOdd ;
if(sp::x % 2 == 0)
{
//改变状态位的值,使其为false
isOdd=false;
}
else
{
//改变状态位的值,使其为true
isOdd = true;
}
// 判断状态位的值
if(isOdd==true)
{
// 如果状态位的值为true,则打印变量x是奇数
cout<<"变量x是奇数"<<endl;
}
else
{
// 如果状态位的值为false,则打印变量x是偶数
cout<<"变量x是偶数"<<endl;
}
return 0;
}