| |
|
开发:
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++入门 < 二 > -> 正文阅读 |
|
[C++知识库]打一局无火力不如看看——C++入门 < 二 > |
目录 引用引用概念引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。 由图可见,引用仅仅是给一个变量起了一个别名,所以他们的地址相同的。 引用特性
常引用
做参数在我们编写交换函数的时候,由于形参的改变不能影响实参,所以当时我们用的是指针法,现在我们也可以使用引用做参数来实现交换函数。
做返回值
注意注意:如果函数返回时,出了函数作用域,如果返回对象还未还给系统,则可以使用引用返回,如果已经还给系统了,则必须使用传值返回。 引用和指针的区别在语法概念上引用就是一个别名,没有独立空间,和其引用实体共用同一块空间。
1. 引用在定义时必须初始化,指针没有要求。 auto关键字
在这里我们需要注意的是auto e; 无法通过编译,使用auto定义变量时必须对其进行初始化。 那么这个auto关键字到底在哪里可以用到呢,当我们需要用到一个类型非常长的类型时,可以很好的用auto来简化,代码如下:
auto与指针和引用结合起来使用用auto声明指针类型时,用auto和auto*没有任何区别,但用auto声明引用类型时则必须加&。
我们在这里在引入一个可以求得某个数类型的方法。 代码如下:
在同一行定义多个变量当在同一行声明多个变量时,这些变量必须是相同的类型,否则编译器将会报错,因为编译器实际只对第一个类型进行推导,然后用推导出来的类型定义其他变量。
注意需要注意的是,auto不能用于推导函数和数组!! 循环for又称语法糖,既然叫做糖,顾名思义能看出来用着很甜,用着很舒服! 至于为什么很甜,甜在哪里,同遍历数组,可看出简便程度,代码如下: 一般情况下遍历数组的方法:
用了范围for之后:
?需要注意的是:for循环迭代的范围必须是确定的 nullptr的引入在以往我们接触C语言时我们可能会认识到当一个指针没有合法的指向时,我们会将它指向空指针。代码如下:
但是NULL实际是一个宏,在传统的C头文件(stddef.h)中,可以看到如下代码:
可以看到,NULL可能被定义为字面常量0,或者被定义为无类型指针(void*)的常量。不论采取何种定义,在使用空值的指针时,都不可避免的会遇到一些麻烦,比如:
通过此代码可以看出,NULL已经被定义为0! 注意:1. 在使用nullptr表示指针空值时,不需要包含头文件,因为nullptr是C++11作为新关键字引入的。2. 在C++11中,sizeof(nullptr) 与 sizeof((void*)0)所占的字节数相同。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 5:44:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |