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

12.9.5 链表的使用

作为一个小的练习,我们建立两个链表:

不幸的是,我们犯了两个错误:Zeus是一位希腊的天神,而不是一位北欧的天神;希腊的战争之神是Ares,而不是Mars(Mars是他的拉丁/罗马名字)。我们可以修改它:

注意,我们是如何小心处理find()返回nullptr的情况的。我们认为在本例中这种情况下不可能发生(毕竟我们刚刚将Mars插入greek_gods中),但在实际的例子中某些人可能改变代码。

与之相似,我们可以将Zeus移入正确的神殿中:

你是否注意到了错误?它对你来说应该是一个相当微妙的错误(除非你已熟悉直接处理链接)。如果我们用erase()删除的恰好是norse_gods指向的Link会怎样呢?在这段代码中这种情况同样不会发生,但是为了编写可维护的优质代码,我们必须考虑这种可能性。

当我们修改第一个错误时,同时也修改了第二个错误:当我们在第一个希腊天神之前插入Zeus时,我们需要让greek_gods指向Zeus的Link。指针非常有用、非常灵活,但也是很微妙的。 ...

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