gpt4 book ai didi

c++ - 空指针常量转换为纯右值

转载 作者:行者123 更新时间:2023-11-28 02:43:51 25 4
gpt4 key购买 nike

由以下规则 sec 描述的空指针常量转换。 4.10/1 N3797:

A null pointer constant of integral type can be converted to a prvalue of type std::nullptr_t . [Note: The resulting prvalue is not a null pointer value. —end note]

我认为以下是此类转换的示例:

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
}

demo

最佳答案

表达式p 一个空指针。 std::nullptr_t 类型的纯右值可以转换为任何指针。它是初始化表达式 static_cast<std::nullptr_t>(0)这不是空指针值。

关于c++ - 空指针常量转换为纯右值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25060916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com