這個問題已經纏着我了一會兒如果嵌套,檢查指針是否有效,然後檢查值
是它通常有一段代碼是這樣的:
bool failed = false;
if (ptr)
{
if (ptr->value == foo)
{
print("error");
failed = true;
}
}
if (!failed)
{
print("all systems go");
}
,或者可以它與布爾完成? 我想前兩個if可能在一行,但我不知道在不同的環境中他們被檢查的順序,我認爲這可能會使它更難閱讀。
什麼是上下文?首先,你可以用'if(ptr && ptr-> value == foo)'代替前兩個ifs。但是權威的代碼將取決於未顯示的代碼的其餘部分。 – fge 2011-12-19 11:07:00