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.4.1 自由空间分配

我们使用运算符new来请求系统从自由空间中分配(allocate)内存:

·运算符new返回一个指向分配的内存的指针。

·指针的值是分配的内存的首字节的地址。

·一个指针指向一个特定类型的对象。

·一个指针并不知道它指向多少个元素。

运算符new可以为单个元素分配内存,也可为元素序列(数组)分配内存。例如:

注意,分配的对象数量可以通过一个变量给出。这很重要,因为这样我们就可以在运行时选择分配多少个对象。如果n等于2,我们得到:

指向不同类型变量的指针是不同类型。例如:

为什么不可以?毕竟,我们可以将一个int赋给一个double,以及将一个double赋给一个int。原因在于[]运算符。它依赖于元素类型的大小来计算出到哪里找到一个元素。例如,qi[2]在内存中与qi[0]相距2个int大小,qd[2]在内存中与qd[0]有2个double大小的距离。如果一个int与一个double的大小不同(在很多计算机中确实是这样),那么如果允许将qi指向分配给qd的内存,我们将会得到一些很奇怪的结果。 ...

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