gpt4 book ai didi

c++ - 可以安全地将类型转换为 NULL 的先前存在的返回值与较新的 nullptr 进行比较吗?

转载 作者:搜寻专家 更新时间:2023-10-31 01:44:03 25 4
gpt4 key购买 nike

我需要使用一个在 C++11 之前编写的库,其中一个函数可以返回类型转换 NULL。我正在尝试按照 C++11 标准编写我的程序,因此在防止空引用时,我会使用类似的东西:

if(retPtr==nullptr){...}

这是一个安全的比较吗?为了争论,在 (int*)NULL 和 (int*)nullptr 之间说?或者我应该只使用:

if(retPtr){...}?

最佳答案

Can a preexisting return of a typecast NULL be safely compared to a newer nullptr?

是的。 来自 cppreference.com :

There exist implicit conversions from nullptr to null pointer value of any pointer type and any pointer to member type. Similar conversions exist for any value of type std::nullptr_t as well as for the macro NULL, the null pointer constant.

作为Praetorian kindly pointed out ,标准的对应部分是4.10 [conv.ptr]

另见 What exactly is nullptr?

关于c++ - 可以安全地将类型转换为 NULL 的先前存在的返回值与较新的 nullptr 进行比较吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24123566/

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