feat(contest/common-mistakes.md): 在“会导致未知的结果”一节中增加“尝试释放由 `new []` 分配的整块内存的一部分“相关内容 (#5457)

* Update common-mistakes.md

在“会导致未知的结果”一节中增加“尝试释放由 `new []` 分配的整块内存的一部分“相关内容

* style: format markdown files with remark-lint

---------

Co-authored-by: 24OI-bot <15963390+24OI-bot@users.noreply.github.com>
pull/5445/merge
Allenyou 2024-03-19 12:14:09 +08:00 committed by GitHub
parent a0ecdda69e
commit 4072db2253
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 15 additions and 0 deletions

View File

@ -302,6 +302,21 @@ author: H-J-Granger, orzAtalod, ksyx, Ir1d, Chrogeek, Enter-tainer, yiyangit, sh
使用 `erase``delete``free` 操作应注意不要对同一地址/对象多次使用。
- 尝试释放由 `new []` 分配的整块内存的一部分
例如:
```cpp
object *pool = new object[POOL_SIZE];
object *pointer = pool + 10;
// 报错!
delete pointer;
```
常见于使用内存池提前分配整块内存后,试图使用 `delete``free()` 释放从内存池中获取的单个对象。
- 解引用空指针/野指针
对于空指针:先应该判断空指针,可以用 `p == nullptr``!p`