mirror of https://github.com/OI-wiki/OI-wiki
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
parent
a0ecdda69e
commit
4072db2253
|
@ -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`。
|
||||
|
|
Loading…
Reference in New Issue