初识C++

1.C++关键字

C++总计63个关键字,C语言32个关键字
在这里插入图片描述

2.命名空间

2.1命名空间的定义

  • 在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的.

代码演示:

//1.用namespace 定义一个命名空间(普通)
namespace N1 // N1 该命名空间的名称
{
	int a;//可以是变量
	int Add(int left,int right)//也可以是函数
	{
		return left+right;
	}
}
//2.命名空间可以嵌套
namespace N2
{
	int a;
	namespace N3
	{
		int b;
	}
}
//3.同一个工程中允许存在多个相同名称的明明空间,编译器最后会合成同一个。
  • 注意: 一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。

2.2命名空间的使用

namepace bit
{
	int a=0;
	int b=0;
}

三种使用方式:
在这里插入图片描述

3.C++的输入&输出

在这里插入图片描述

4.缺省参数

4.1缺省参数概念

  • 缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。
void TestFunc(int a = 0)
 {
 	cout<<a<<endl; 
 }
int main()
{
 TestFunc(); // 没有传参时,使用参数的默认值
 TestFunc(10); // 传参时,使用指定的实参
}

4.2缺省参数分类

1.全缺省参数 所以参数都指定默认值
2.半缺省参数半缺省参数必须从右往左给出
注意:缺省参数不能在函数生命和定义中同时出现
--------- 缺省值必须是常量或全局变量

  • 全缺省:
    在这里插入图片描述

  • 半缺省
    在这里插入图片描述

5.函数重载

5.1函数重载概念

  • 函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 顺序)必须不同,常用来处理实现功能类似数据类型不同的问题

5.2 为什么c语言不支持函数重载,而C++支持?

要讲这个问题就必须了解在C/C++中,一个成需要运行要经历以下几个阶段:预处理,编译,汇编,链接。

在这里插入图片描述

  • 因为C语言是直接拿函数名去链接
    C语言如果是同名函数,链接时无法辨别
    链接时报错:error LNK2019:

  • 而C++中,只要参数不同,修饰出来的名字就不同,那么就不会冲突。

  • 最后在说一下函数修饰名规则: (Linux下):

  • _Z[函数名长度(数字)]+函数名+类型首字母

具体解释一下:
比如:

int Add(int a,int b)
{
	return a+b;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值