IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 学c++修炼(day1) -> 正文阅读

[C++知识库]学c++修炼(day1)

1??命名空间

2??输入&&输出

3?? 缺省函数

4?? 函数重载

简单的说下c++的头文件用#include;

  • ??命名空间

在这里插入图片描述
我们可以发现会出现重命名的问题,c++为了处理这个c语言遗留下的问题引入了命名空间。
命名空间的定义:定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名
空间的成员。

第一种普通写法??
在这里插入图片描述

命名空间除了这个基本的使用还可以多个嵌套。
第二种嵌套写法??

namespace Tencent
{
	namespace Tencent1
	{
		int a = 0;
		void f()
		{
			printf("viod f(\n");
		}

		struct  ListNode
		{
			int val;
			struct ListNode* next;
		};

	}
	namespace Tencent2
	{
		int a = 0;
		void f()
		{
			printf("viod f(\n");
		}

		struct  ListNode
		{
			int val;
			struct ListNode* next;
		};

	}

}

第三种是出现多个命名空间名称一样的问题??
编译器会将多个命名空间名称一样的合并在一起。
在这里插入图片描述
为了处理这个问题CPP引入namespace xxx;通过一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中,这样就可以避免上面多个命名空间冲突问题。

namespace Tencent
{
	int f = 6;
	int rand = 8;
	int a = 21;
}
int a = 0;
int main()
{
	int a = 1;
	printf("%d\n", rand);
	printf("%d\n", f);
	printf("%d\n", Tencent::rand);
	printf("%d\n", Tencent::f);
	printf("%d\n", a);
	printf("%d\n", Tencent::a);
	return 0;
}

using namespace Tencent的意思是把Tencent命名空间定义的东西放出来。
如何输出里面的东西如上面代码的写法Tencen::rand;
还能这样

namespace HuaWei
{
	namespace HuaWei1
	{
		struct Node
		{
			int val;
			struct Node* next;
		};
	}
}
int main()
{
	struct HuaWei::HuaWei1::Node n1;
	n1.val = 99;
	struct Tencent::Tencent1::Node n2;
	n2.val = 21;

	return 0;
}

将HuaWei里面的HuaWei1进行拆分一层拆一层。但是如果一直拆拆到最后就相当没有使用该命名空间。

  • ?? CPP的输入&&输出


#include<iostream>
using namespace std;
int main()
{
	int a;
	double b;
	char c;
	//输入
	cin >> a;
	cin >> b >> c;
	//输出
	cout << a << endl;
	cout << b << " " << c << endl;
	return 0;
}

上面的std是c++库的命名空间。
使用cout标准输出(控制台)和cin标准输入(键盘)时,必须包含< iostream >头文件以及std标准命名空间。>>是流提取运算符,<<流插入运算符。<<end是换行
由于>>&&<<的使用使得cpp可以进行多个输入与多个输出并且不需要考虑类型。

  1. ?? 缺省函数

定义:缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。
在这里插入图片描述
如果实参有值传的实参,否则像图中第一个无实参的一样用的是形参的值。

缺省函数又分为全缺省参数与半缺省参数。

1.全缺省:

using namespace std;
void TestFunc(int a = 10, int b = 20, int c = 30)
{
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	cout << "c=" << c << endl << endl;
}

int main()
{
	TestFunc();
	TestFunc(1);
	TestFunc(1,2);
	TestFunc(1,2,3);

	return 0;
}

在这里插入图片描述

2.半缺省:

//缺省
using namespace std;
void TestFunc(int a, int b = 20, int c = 30)
{
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
	cout << "c=" << c << endl << endl;
}

int main()
{
	TestFunc();
	TestFunc(1);
	TestFunc(1,2);
	TestFunc(1,2,3);

	return 0;
}

将代码对比,可以得出它俩的区别。

注意:

1. 半缺省参数必须从右往左依次来给出,不能间隔着给
2. 缺省参数不能在函数声明和定义中同时出现
3. 缺省值必须是常数或者全局变量。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 08:30:43  更:2022-04-30 08:32:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:12:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码