1、namespace:是指标识符的各种可见范围。c++中的所有标识符都被定义于一个名为std的namespace。
2、定义命名空间的目的:用于区分具有相同名字的参数和函数。
3、使用c++标准程序库的所有标识符的方法:
以下面程序为例:
#include<iostream>
#include<stdlib.h>
using namespace std;
namespace A
{
int x=1;
void fun()
{
cout<<"A"<<endl;
}
}
namespace B
{
int x=2;
void fun()
{
cout<<"B"<<endl;
}
void fun2()
{
cout<<"2B"<<endl;
}
}
using namespace B;
int main(void)
{
cout<<A::x<<endl;
B::fun();
fun2();
system("pause");
return 0;
}
(1)直接使用
将程序中的所有输出cout前加上std::,参数后加<<std::。例如:将程序中的using namespace std去掉,则将程序中的所有cout前以及endl前加上std::。如:第七行改为,std::cout<<"A"<<std::endl;
(2)全局就是上面程序中所加的:using namespace std;如果程序中cout很多,那么就直接加上using namespace std。
4、当要引用一个命名空间中和其他命名空间没有重复的函数时,直接主函数前面加上 using namespace B(程序中要引用的命名空间名)如上述程序中,要引用命名空间B中的fun2()函数,那么代码这样写就可以了:using namespace B;
int main(void){
...........
fun2();
........
}
5、今天遇到的问题:fatal error LNK1169: one or more multiply defined symbols found
出现这种错误的原因:没有将上一个项目关闭,直接在该项目上运行此程序了。
原文:http://www.cnblogs.com/ITDlive/p/5284387.html