【发布时间】:2012-02-10 09:57:55
【问题描述】:
也许我遗漏了一些相当简单的东西,但是当我取消引用指针时,即使我检查了表达式开头的点,我也会崩溃。
if( var1 &&
bool1 || bool2 &&
var1->DoSomething() )
{
}
var1 是一个空指针,但 Var1->Dosomething() 仍在被调用。我的理解是 && 和 || C++ 中的运算符是短路的,所以如果 var1 为空,那么它将在一开始就终止。还是我还缺少其他东西?
【问题讨论】:
-
如有疑问,括号!
标签: c++ short-circuiting