【发布时间】:2014-07-31 14:02:58
【问题描述】:
由以下规则描述的空指针常量转换。 4.10/1 N3797:
整数类型的空指针常量可以转换为纯右值 std::nullptr_t 类型。 [注意:生成的纯右值不为空 指针值。 ——尾注]
我认为以下是此类转换的示例:
static_cast<std::nullptr_t>(0);
但这似乎不是真的,因为
#include <iostream>
#include <iostream>
using namespace std;
int main()
{
void *p = static_cast<std::nullptr_t>(0);
cout << p; //0- Why? It is not a null pointer value
}
【问题讨论】:
-
我很困惑(真的)——当你发送一个指向 std::cout 的指针时会发生什么?
-
@doctorlove, 打印指针包含的地址。