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