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.2.3 默认初始化

你可能已经注意到了,我们通常不对string、vector等对象进行初始化。例如:

这并不是“变量必须先初始化再使用”这条规则的例外情况。之所以出现这种情况,是因为我们定义string类型和vector类型时定义了默认初始化机制,如果代码中不显式进行初始化,这两种对象就会被用一个默认值进行初始化。因此,上述代码执行到循环时,v的值为空(不包含任何元素),s的值为空串("")。保证默认初始化的机制称为默认构造函数,参见9.7.3节。

不幸的是,C++不允许我们对内置类型设置默认初始化功能。全局变量会被默认初始化为0,但你应该尽量少用全局变量。而最常使用的变量——局部变量和类成员——是不会被初始化的,除非你对其进行初始化(或提供一个默认构造函数)。我们已经提示过你了,你在实践中一定要注意!

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