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 关注
- 384 浏览
添加回答
举报