Skip to Content
C++程序设计:原理与实践(基础篇)(原书第2版)
book

C++程序设计:原理与实践(基础篇)(原书第2版)

by 本贾尼 斯特劳斯特鲁普
August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
Pearson
Content preview from C++程序设计:原理与实践(基础篇)(原书第2版)

8.5.5 传引用

但是,如果我们确实希望函数修改其参数,又该怎么办呢?有时,我们有充足的理由需要这么做。例如,我们可能需要一个init()函数为vector元素赋值:

这里,我们希望init()函数修改参数vector,因此我们没有使用传值参数(拷贝参数值),也没有使用传常量引用参数(不允许修改参数),只是将实际参数的“简单引用”传递给形参。

让我们从更技术化的角度来探讨一下引用。引用是这样一种语法机制,它允许用户为一个对象声明一个新的名字。例如,int&是一个整型对象的引用,因此,我们可写出如下代码

也就是说,任何对r的使用实际上使用的是i。

引用的一个用途是作为简写形式。例如,我们可能用到如下二维vector

我们需要多次使用某个vector元素v[f(x)][g(x)]。v[f(x)][g(x)]是一个复杂的表达式,我们当然不愿意反复输入它。如果我们只是需要这个元素的值,那么可以声明下面这个变量

然后多次使用val即可。但如果我们既要从v[f(x)][g(x)]读取值,又要向它写入值呢?这时,引用就派上用场了: ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普
管理Kubernetes

管理Kubernetes

Brendan Burns, Craig Tracey
Go程序设计语言

Go程序设计语言

艾伦A. A.多诺万, 布莱恩W. 柯尼汉

Publisher Resources

ISBN: 9787111562252