Може би пропускам нещо доста просто, но получавам срив, когато дереферирам указател, въпреки че проверявам точката в самото начало на израза.
if( var1 &&
bool1 || bool2 &&
var1->DoSomething() )
{
}
var1 е нулев указател, но Var1->Dosomething() все още се извиква. Моето разбиране е, че && и || оператор в C++ са късо съединение, така че ако var1 беше нула, тогава той просто щеше да прекрати в самото начало. Или има нещо друго, което пропускам?