在C ++中,我经常看到看起来像这样的代码:
Object * p = init();
if (!p) {
printf("Fail");
}
else {
printf("Success");
}
据我所知,它正在检查'p'是否已正确初始化。 如果没有!,我们可以达到类似的结果。带有以下if语句的运算符:
Object * p = init();
if (p) {
printf("Success");
}
else {
printf("Fail");
}
我从来没有真正阅读过为什么这么做的地方。我只知道它有效。我知道C ++中的条件可以包含布尔值或整数,其中0为false,其他均为true,但是它如何与对象一起使用?我猜想它可能与空指针有关,但我从未见过在任何地方明确提到它。