0
点赞
收藏
分享

微信扫一扫

C++:入门篇(补充C语言中的不足)

点亮自己的那盏灯 2024-09-13 阅读 6
c++

C++:入门篇

一、namespace 命名空间

下面的代码说明在头文件中已经有了 rand 函数了,我们以这个函数名作为变量名必定会产生冲突。
在这里插入图片描述
在这里插入图片描述

(一)域的概念

(二)命名空间的使用

1、创建命名空间域

这里我们创建了一个命名空间域,因此 rand 变量依旧可以创建在全局区
在这里插入图片描述
在访问命名空间域中的变量时必须标注域的名字。(后面学的类域也是相似)
在这里插入图片描述

2、命名空间域的嵌套使用

这种用法一般是用来解决两个程序员合并代码时候的问题,假如A, B两人都想使用 rand 来作为全局变量,可以用下面的方式
在这里插入图片描述
在这里插入图片描述

3、using 关键字

半放式 : 将命名空间中不与其他全局变量重名的放回全局区
在这里插入图片描述
全放式: 将命名空间的成员全部放在全局区中,但是容易造成错误。因此在项目中不推荐使用 using namesapce std;
在这里插入图片描述

二、缺省参数

在这里插入图片描述

三、函数重载

参数类型不同
在这里插入图片描述

参数个数不同
在这里插入图片描述
参数顺序不同
在这里插入图片描述
参数返回值不同
在这里插入图片描述
存在歧义
在这里插入图片描述

四、引用

在这里插入图片描述
在这里插入图片描述

(一)引用的使用

在这里插入图片描述

(二)const 引用

核心是权限不能放大

1、变量的权限不能放大

在这里插入图片描述

2、指针的权限不能放大

在这里插入图片描述

3、临时对象

在这里插入图片描述

(三)引用和指针的区别

五、inline 关键字

(一)宏的不足

在这里插入图片描述
再看这种情况,宏的内容写得没有问题,但是因为宏的机制造成错误
在这里插入图片描述
综上,我们有了inline 关键字.

(二)inline 的用法

六、nullptr 关键字

(一)C语言中的NULL

在C语言中,NULL是一个宏,定义为0

#ifndef NULL
     #ifdef __cplusplus
         #define NULL 0
     #else
         #define NULL ((void *)0)
     #endif
#endif

这个情况会造成一些谬误
在这里插入图片描述

(二)nullptr 关键字

在这里插入图片描述

结束语

这是小编C++的第一篇文章,如果觉得文章看了有收获,可以多多关注哦

在这里插入图片描述

举报

相关推荐

0 条评论