我的小 C++ 函数需要计算一个简单的超时值。
CalcTimeout(const mystruct st)
{
return (st.x + 100) * st.y + 200;
}
数字 100 和 200 在以后阅读代码时会让人感到困惑,所以我想为它们使用#define。但是这些定义只需要这个函数,我可以在函数内部定义它们吗?这种方式的优点是:
- 这是非常本地化的价值观,没有人需要知道它
- 离用处更近了,用意很明确,没有别的用处,它们就像局部变量(除了它们不是)
缺点可能是定义诸如局部变量/常量之类的东西的方法相当粗略,但显然不是局部的。
除此之外,在 C++ 函数中 #define 会很奇怪吗?大多数时候我们在文件顶部使用#defines。在替换像这样的固定本地硬编码值时,是否以任何方式更好地使用 const 变量?
目标实际上是使代码更具可读性/可理解性。