在C初始化變量++,你可以在if語句中初始化變量,像這樣:的Pro/CON:在條件語句
if (CThing* pThing = GetThing())
{
}
一個爲什麼會認爲這是好還是壞的風格?有什麼好處和壞處?
就我個人而言,我喜歡這種風格,因爲它限制了pThing變量的範圍,因此它在NULL時不會被意外使用。但是,我不喜歡,你可以這樣做:
if (CThing* pThing = GetThing() && pThing->IsReallySomeThing())
{
}
如果有一種方法,使上述工作,請發表。但如果這是不可能的,我仍然想知道爲什麼。
Question borrowed from here, similar topic but PHP.
我會嘗試...我記得我試過各種支架放置,但沒有任何工作,雖然編譯器錯誤改變了很多取決於括號。 – steffenj 2008-09-25 22:30:19
「短路評估」......我只知道這只是「早出」到目前爲止。這對我來說是新的。 – steffenj 2008-09-25 22:31:20