博客
关于我
初识C++
阅读量:174 次
发布时间:2019-02-28

本文共 1084 字,大约阅读时间需要 3 分钟。

文章目录

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<<

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;}

在这里插入图片描述

转载地址:http://xyzj.baihongyu.com/

你可能感兴趣的文章
Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
查看>>
Navicat因导入的sql文件中时间数据类型有参数而报错的原因(例:datetime(3))
查看>>
Navicat如何连接MySQL
查看>>
navicat导入.sql文件出错2006- MySQLserver has gone away
查看>>
Navicat导入海量Excel数据到数据库(简易介绍)
查看>>
Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
查看>>
Navicat工具中建立数据库索引
查看>>
navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
查看>>
navicat怎么导出和导入数据表
查看>>
Navicat怎样同步两个数据库中的表
查看>>
Navicat怎样筛选数据
查看>>
Navicat报错connection is being used
查看>>
Navicat报错:1045-Access denied for user root@localhost(using passwordYES)
查看>>
Navicat控制mysql用户权限
查看>>
navicat操作mysql中某一张表后, 读表时一直显示正在载入,卡死不动,无法操作
查看>>
Navicat连接mysql 2003 - Can't connect to MySQL server on ' '(10038)
查看>>
Navicat连接mysql数据库中出现的所有问题解决方案(全)
查看>>
Navicat连接Oracle出现Oracle library is not loaded的解决方法
查看>>
Navicat连接Oracle数据库以及Oracle library is not loaded的解决方法
查看>>
Navicat连接sqlserver提示:未发现数据源名并且未指定默认驱动程序
查看>>