【发布时间】:2020-03-22 02:16:54
【问题描述】:
根据 C++17 [basic.compound]/3:
指针类型的每个值都是以下之一:
- 指向对象或函数的指针(该指针被称为指向对象或函数),或
- 超过对象末尾的指针 (8.7),或
- 该类型的空指针值 (7.11),或
- 一个无效的指针值。
malloc 函数返回一个指针值。让我们假设调用成功,因此返回值不为空。 malloc ([c.malloc]) 的规范并没有说明它在返回的存储中创建任何对象,因此看起来“无效指针值”是最不无意义的类别。
【问题讨论】:
标签: c++ pointers language-lawyer c++17 object-lifetime