• C++命名空间与输入输出


    你好,我是史丰源
    欢迎你的来访,希望我的博客能给你带来一些帮助。

    我的Gitee:代码仓库.☀️

    我的联系方式:
    QQ:1756786195
    邮箱:Marksky126@outlook.com🌐

    欢迎大家进入C++的学习💯

    (前言) C++学习方法

    1. 多做总结
    2. 画思维导图
    3. 常看书(Effctive C++)
    4. 每天适量刷题

    一、命名空间

    1、命名空间的定义:

    namespace即“命名空间”,也称“名称空间” 。

    在C语言中我们在书写代码前都会包含一个C的标准函数库。
    我们可以类比C语言中的标准库,来看看C++的标准函数库。

    在C++的书中我们最常见的就是使用

    using namespace std;
    
    • 1

    using就是使用,namespace就是命名空间的关键字,std是包含标准库函数或者对象的命名空间。
    那眼尖的同学可能发现了 在C语言中,我们使用的是

    #include
    
    • 1

    C++里面也有IO,IO代表Input(输入流)和Output(输出流)。
    一般在声明命名空间前,先声明输入输出流。
    所以形式是这样的:

    #include
    using namespace std;
    
    • 1
    • 2

    和C语言的声明文件一样,我们也可以自己定义命名空间。

    namespace HY
    {
    	//定义变量、函数
    }
    
    • 1
    • 2
    • 3
    • 4

    示例

    1.普通的命名空间定义:

    namespace HY
    {
    	int a ;
    	int Add(int left,int right)
    	{
    		return left + right;
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    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;
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    3.同一个工程中允许多处存在相同的命名空间,编译器最后会合成到同一个命名空间中。

    注意:在写公司项目时推荐不适用using namespace std,因为using指令导入整个命名空间中的所有成员的名称,包括那些可能根本用不到的名称,如果其中有名称与局部名称发生冲突,则编译器并不会发出任何警告信息,而只是用局部名去自动覆盖命名空间中的同名成员。但我们平时写项目练习时可以使用using。

    那不用using namespace std我们用什么呢?

    这里介绍

    2.域限定符(“::”)

    只需把常用的指令放进来即可

    using std::cout;
    using std::endl;
    
    • 1
    • 2

    我们就可以在项目中使用 cout 和 endl了。
    注意: 一个命名空间就相当于一个作用域,命名空间中的所有内容都局限于该命名空间内。

    3.命名空间的使用

    使用方式有三种:
    第一种: 使用域限定符使用

    #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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    第二种:利用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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    第三种:利用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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    二、C++中的输入输出函数

    还记得我们初学C语言的那一句

    #include
    
    int main()
    {
    	printf("Hello World!");
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    如今步入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;
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    输入:

    #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;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    C++的输入输出函数不像C语言中我们需要去限定格式,而是C++自动识别。
    这里用到重载函数的知识,我们在下一节进行分享。

    不走心的努力,都是在敷衍自己
    与你共勉。

  • 相关阅读:
    搭建docke-cli的调试环境
    Codeforces Round #821(Div.2) (A-D2) 题解
    整洁架构能有多整洁?
    字节测试总监8年测试路,如何从功能测试转成自动化测试——愿测试人不再迷茫
    Graphviz 可视化图形软件(python)
    基于Java+SpringBoot+Thymeleaf+Mysql餐厅座位预约预订网站系统设计与实现
    代码随想录刷题笔记 DAY 37 | 动态规划理论基础 | 斐波那契数 No.509 | 爬楼梯 No.70 | 使用最小花费爬楼梯 No.746
    [强网杯 2019]Upload
    79.Zabbix之Ping监控
    DataLoader的使用1
  • 原文地址:https://blog.csdn.net/m0_60653728/article/details/126456848