From c222c6552858499985552599e8542405b71ed773 Mon Sep 17 00:00:00 2001 From: mq-b <3326284481@qq.com> Date: Fri, 20 Dec 2024 14:18:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=94=9F=E5=AD=98=E6=9C=9F?= =?UTF-8?q?=E4=B8=AD=E6=8E=AA=E8=BE=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/cpp_lifetime.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/cpp_lifetime.md b/docs/cpp_lifetime.md index 8342f0a..1e597af 100644 --- a/docs/cpp_lifetime.md +++ b/docs/cpp_lifetime.md @@ -75,7 +75,7 @@ void func() { ```cpp void func() { Class *p = new Class; // *p 是动态存储周期 - delete p; // 释放动态分配的内存 + delete p; // 调用 Class 析构函数并释放动态分配的内存 } ``` @@ -84,7 +84,9 @@ void func() { > 特别注意,`p` 依然是“栈上变量”,`p` 指向的 `*p` 才是“堆上变量”! -> 用律师语再说一遍:`p` 是自动存储周期,`p` 指向的 `*p` 才是动态存储周期!(白律师最满意的一集) +> 用律师语再说一遍: +> `p` 只是函数局部对象,拥有自动存储期。它指向的对象才是动态存储期。 +> 指针对象本身与指针对象所指向的对象,彼此之间并无任何关系。你可以说 `p` 指向 `*p`,因为 `*p` 表达式返回了指针所指向对象的引用。“所谓*指向*”,无非是指针对象存储了另一个对象的地址 指针本身,和指针指向的对象,是两个东西,不要混淆。