Bri*_*ian 16 c++ pointers object-lifetime language-lawyer c++17
根据C ++ 17 [basic.compound] / 3:
指针类型的每个值都是以下之一:
- 指向对象或函数的指针(据说该指针指向对象或函数),或
- 一个超出对象末尾的指针(8.7),或者
- 该类型的空指针值(7.11),或者
- 无效的指针值。
该malloc
函数返回一个指针值。让我们假设调用成功,因此返回值不为null。malloc
([c.malloc])的规范没有声明它在返回的存储中创建了任何对象,因此似乎“无效的指针值”是最没有意义的类别。
那讲得通。这是一个“无效的指针值”,因为它没有指向对象。
请参阅本节后面的内容:
当指针值表示的存储到达其存储持续时间的结尾时,该指针值将变为无效
这意味着不是它使指针无效的“值”,而是它没有指向有效的对象。
归档时间: |
|
查看次数: |
390 次 |
最近记录: |