首页 > 编程语言 > 详细

c++命名空间

时间:2016-03-16 18:41:47      阅读:159      评论:0      收藏:0      [点我收藏+]

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

出现这种错误的原因:没有将上一个项目关闭,直接在该项目上运行此程序了。

 

c++命名空间

原文:http://www.cnblogs.com/ITDlive/p/5284387.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!