gpt4 book ai didi

c++ - 检查指针是否为空然后在同一个 if 语句中取消引用它是否安全?

转载 作者:可可西里 更新时间:2023-11-01 15:38:16 36 4
gpt4 key购买 nike

如果传入空指针,下面的代码是否安全?

if(ptr && *ptr == value)
{
//do something
}

检查的顺序重要吗?改成这样行不行?

if(*ptr == value && ptr)
{
//do something
}

最佳答案

前者是正确和安全的,后者不是。

内置的 && 运算符具有短路语义,这意味着当且仅当第一个参数为真时,第二个参数才会被计算。

(重载 运算符不是这种情况。)

关于c++ - 检查指针是否为空然后在同一个 if 语句中取消引用它是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13782629/

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