你好,我是史丰源
欢迎你的来访,希望我的博客能给你带来一些帮助。
我的Gitee:代码仓库.☀️
我的联系方式:
QQ:1756786195
邮箱:Marksky126@outlook.com🌐
欢迎大家进入C++的学习💯
namespace即“命名空间”,也称“名称空间” 。
在C语言中我们在书写代码前都会包含一个C的标准函数库。
我们可以类比C语言中的标准库,来看看C++的标准函数库。
在C++的书中我们最常见的就是使用
using namespace std;
using就是使用,namespace就是命名空间的关键字,std是包含标准库函数或者对象的命名空间。
那眼尖的同学可能发现了 在C语言中,我们使用的是
#include
C++里面也有IO,IO代表Input(输入流)和Output(输出流)。
一般在声明命名空间前,先声明输入输出流。
所以形式是这样的:
#include
using namespace std;
和C语言的声明文件一样,我们也可以自己定义命名空间。
namespace HY
{
//定义变量、函数
}
示例
1.普通的命名空间定义:
namespace HY
{
int a ;
int Add(int left,int right)
{
return left + right;
}
}
2.嵌套定义命名空间
namespace HY
{
int a;
int b;
int Add(int left,int right)
{
return left + right;
}
namesapce HY1
{
int c;
int d;
int Sub(int left ,int right)
{
return left - right;
}
}
}
3.同一个工程中允许多处存在相同的命名空间,编译器最后会合成到同一个命名空间中。
注意:在写公司项目时推荐不适用using namespace std,因为using指令导入整个命名空间中的所有成员的名称,包括那些可能根本用不到的名称,如果其中有名称与局部名称发生冲突,则编译器并不会发出任何警告信息,而只是用局部名去自动覆盖命名空间中的同名成员。但我们平时写项目练习时可以使用using。
那不用using namespace std我们用什么呢?
这里介绍
只需把常用的指令放进来即可
using std::cout;
using std::endl;
我们就可以在项目中使用 cout 和 endl了。
注意: 一个命名空间就相当于一个作用域,命名空间中的所有内容都局限于该命名空间内。
使用方式有三种:
第一种: 使用域限定符使用
#include
namespace HY
{
int a;
int b;
int Add(int left, int right)
{
return left + right;
}
}
int main()
{
HY::a = 10;
printf("%d", HY::a);//暂且使用Printf,下文使用C++中的输出
return 0;
}
第二种:利用using进行命名空间成员引入
#include
namespace HY
{
int a;
int b;
int Add(int left, int right)
{
return left + right;
}
}
using HY::a;
int main()
{
HY::a = 10;
printf("%d", a);//暂且使用Printf,下文使用C++中的输出
return 0;
}
第三种:利用using namespace 命名空间名称进行引入
#include
namespace HY
{
int a;
int b;
int Add(int left, int right)
{
return left + right;
}
}
using namespace HY;
int main()
{
HY::a = 10;
printf("%d", a);//暂且使用Printf,下文使用C++中的输出
return 0;
}
还记得我们初学C语言的那一句
#include
int main()
{
printf("Hello World!");
return 0;
}
如今步入C++的世界我们也需要去学C++的输入输出函数。
cin(输入函数)
cout(输出函数)
C++中把这两个函数更加形象化,因为是输入输出流。
输出:
#include
using std::cin;
using std::cout;
using std::endl;
int main()
{
cout << "Hello World!" << endl;//endl是C++中的换行符
return 0;
}
输入:
#include
using std::cin;
using std::cout;
using std::endl;
int main()
{
int a = 0;
double b = 0.0;
cin >> a >> b;//注意箭头方向,变量和变量间也要有箭头分割
cout << a<< " " << b << endl;
return 0;
}
C++的输入输出函数不像C语言中我们需要去限定格式,而是C++自动识别。
这里用到重载函数的知识,我们在下一节进行分享。
不走心的努力,都是在敷衍自己
与你共勉。