学习C++的第三天(命名空间)

   日期:2020-05-05     浏览:91    评论:0    
核心提示:命名空间(和C语言中的结构体类似)当一个程序中出现两个相同的变量时,比如下面的population和c/c++

命名空间(和C语言中的结构体类似)
当一个程序中出现两个相同的变量时,比如下面的population和capital,这时候要用到population和capital时,计算机就不知道要用那个population、capital,就会出错,所以为了避免这样的错误,我们用命名空间来解决这样的麻烦,如下,相当于指明了population和capital,China::population中国的人口,Japa::population日本的人口,这样计算机就可以识别了。

#include <iostream>
#include <string>     //string 变量字符串头文件

namespace China {        //namespace 命名空间,China 命名空间名字;
	float population=14.1;     
	std::string capital="北京";
	//两个变量population和capital
}
namespace Japa {
	float population=14.1;
	std::string capital="北京";
}

int main {
	std::cout <<"首都:" <<China::capital <<std::endl;
	std::cout <<"人口" <<China::population <<std::endl;
	std::cout <<"首都:" <<Japa::capital <<std::endl;
	std::cout <<"人口" <<Japa::population <<std::endl;
	
	system("pause");
	return 0;
}

那么问题来了,当有多个相同的变量的时候,我们还是要用China::population、Japa::populatin这种方式来解决吗?有没有简便一点的方法呢?
当然这样解决肯定是没有问题的,只要代码敲的合适,但是这样写特别麻烦啊,比如要某公司开发一个大项目,一个大公司不可能只要一个程序员吧,所以每个人负责这个项目的一部分,这时候就难免出现很多的相同变量,那每个都要以China::population、Japa::populatin这种方式来解决就太麻烦了,而且对于每个程序员来说都很冤枉,在自己写的部分还要用这种方式,真的太麻烦了,所以就有了以下这种方式using namespace China;相当于提前声明了后面的population、capital,当后面有population、capital时,如果他的前面没有类似于Japa::capital、Japa::population 这样的声明,则直接默认为China::population、China::capital,这样就省去了每个变量前面都要加China的麻烦。看似是一个小改变,其实作用只要用了才知道。

#include <iostream>
#include <string>     //string 变量字符串头文件

namespace China {        //namespace 命名空间,China 命名空间名字;
	float population=14.1;     
	std::string capital="北京";
	//两个变量population和capital
}
namespace Japa {
	float population=14.1;
	std::string capital="北京";
}
using namespace China;
int main {
	std::cout <<"首都:" <<capital <<std::endl;
	std::cout <<"人口" <<population <<std::endl;
	std::cout <<"首都:" <<Japa::capital <<std::endl;
	std::cout <<"人口" <<Japa::population <<std::endl;
	
	system("pause");
	return 0;
}
 
标签: 文章标签: c++
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服