3 回答

TA貢獻1797條經驗 獲得超6個贊

TA貢獻1864條經驗 獲得超2個贊
if (RequiresSpecialEvent(numError)) fire_special_event();
bool RequiresSpecialEvent(int numError){ return specialSet.find(numError) != specialSet.end();}

TA貢獻1752條經驗 獲得超4個贊
// WON'T COMPILEextern const int MY_VALUE ;void doSomething(const int p_iValue){ switch(p_iValue) { case MY_VALUE : /* do something */ ; break ; default : /* do something else */ ; break ; }}
// WILL COMPILEconst int MY_VALUE = 25 ;void doSomething(const int p_iValue){ switch(p_iValue) { case MY_VALUE : /* do something */ ; break ; default : /* do something else */ ; break ; }}
“ 將常量定義為頭文件中的枚舉是處理此問題的另一種方法“。
它當然是的。
外部類型的目的是將值與源分離。將此值定義為宏、作為簡單的Constint聲明,甚至定義為枚舉具有內聯值的副作用。因此,如果定義、枚舉值或Constint值發生變化,則需要重新編譯。Extern聲明意味著在發生值更改時不需要重新編譯,但另一方面,則不可能使用開關。結論是 使用開關將增加交換機代碼與用作情況的變量之間的耦合。..當它是好的,然后使用開關。當它不是的時候,那就不足為奇了。
- 3 回答
- 0 關注
- 422 瀏覽
添加回答
舉報