namespace的用法

1.什么是命名空间

通常我们学c++的时候经常看见头文件下有一句using namespace std,有什么用呢?

例如:

#include<iostream>
using namespace std; int main()
{
cout << "Hello,World!" << endl;
return 0;
}

如果我们去掉这句的话,程序就会报未声明变量cout和未声明变量endl。

原来std命名空间是C++中标准库类型对象的命名空间。如果加上using namespace std这句,程序就把文件内出现的用std命名的关键字都自动在前面加上std::。

2.namespace命名空间有什么用呢

namespace命名空间是在大型项目开发中,为了避免命名冲突而引入的一种机制。

比如A公司定义了命名变量score,B公司也定义了score,而且B公司里也有个小组C。但是我要先使用B公司的score变量,然后在使用A公司的score变量,最后使用B公司里的小组C。该怎么办呢?

A公司的文件

namespace A
{
int score=5;
}

B公司的文件

namespace B
{
int score=10;
namespace C{
int score=4;
}
}

使用方法

#include<iostream>
#include"A.cpp"
#include"B.cpp" using namespace std; int main()
{
{ //B声明在此范围有效
using B::score;
cout<<score<<endl;
}
{ //A声明在此范围有效
using A::score;
cout<<score<<endl;
}
{ //C声明在此范围有效
using B::C::score;
cout<<score<<endl;
}
return 0;
}

这就可以区分三个不同的score了。

最新文章

  1. python数据类型详解
  2. 手把手教你用Python抓取AWS的日志(CloudTrail)数据
  3. 十个节省时间的MySQL命令
  4. substr mb_substr mbstrct 的用法区别
  5. 在虚拟机上安装Ubutu完成后卡在VM Tool的安装上
  6. 转:MySQL导入.sql文件及常用命令
  7. javascript 高级程序设计学习笔记(面向对象的程序设计) 1
  8. 将文件从数据库(MySQL)中进行读取
  9. LNK2022: 元数据操作失败(8013118D): 重复类型(FactoryContext)中的布局信息不一致: (0x02000230)
  10. laravel5.8笔记六:公共函数和常量设置
  11. hdu3183 rmq求区间最值的下标
  12. Criteria查询
  13. 〖Linux〗Ubuntu 64位安装sqlite3_analyzer
  14. c# 设计模式 之:简单工厂、工厂方法、抽象工厂之小结、区别
  15. pandas中DataFrame的ix,loc,iloc索引方式的异同
  16. 工作中发现Web服务器的磁盘满后故障分析
  17. Linux基础三(正则表达式)
  18. 日调度万亿次,微服务框架TSF大规模应用——云+未来峰会开发者专场回顾
  19. 一个Java小菜鸟的实习之路
  20. github 修改项目默认语言

热门文章

  1. company_credit
  2. linux新手记录;可执行文件直接运行
  3. eval()和JSON.parse()的区别
  4. JAVA-变量
  5. postman(十):配置jenkins自动发送邮件(邮件包含测试报告)
  6. Shopping List
  7. web服务器初识
  8. 浅谈Pool对象
  9. C# 指定程序打开指定文件
  10. [ZJOI2019]麻将