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

13.5 访问vector元素

到目前为止(12.6节),我们已经使用过成员函数set()和get()访问vector的元素,但这种用法冗长、不美观。我们希望能够使用习惯的下标表示方式v[i]。为此,我们需要定义一个名为operator[]的成员函数。下面是我们的初次(简单)尝试:

这个定义看起来令人满意而且很简单,但不幸的是它过于简单了。下标操作(operator[]())返回一个值,因此只能实现对元素的读操作而未实现写操作:

在这段代码中,v[i]被解释为函数调用v.operator[](i),返回v的编号为i的元素的值。对于过于简单的vector,v[3]是一个浮点类型的数值,而不是一个浮点类型的变量。

试一试

编写此版本vector的完整实现,使之能进行编译,并观察编译器对语句“v[3]=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