我想知道是否有更好的方法来编写它以获得更好的可读性。如果您有如下功能,
void animal(bool hasFourLegs, bool hasHead, bool hasBody);
当你调用这个函数时,你最终会得到类似的东西
animal(true, false, true);
这让我每次遇到这样的函数时都去看看定义。
所以…
我做这样的事情!
const bool HAS_FOURLEGS = true;
const bool NO_HEAD = false;
const bool HAS_BODY = true;
animal(HAS_FOURLEGS, NO_HEAD, HAS_BODY);
但我不喜欢每次调用函数时都声明 const bool
。
似乎CPP不支持类似的东西
animal(bool hasFourlegs = true, bool hasHead = false, bool hasBody = true);
有没有更好更短的方法?
原文由 Eddie 发布,翻译遵循 CC BY-SA 4.0 许可协议
当我遇到与此相关的问题时,我有时会创建一个
enum
即使只有 2 个预期的选择:例如,代替以下函数声明:
我会去:
因此,调用语法从:
至:
注意:这避免了每次调用函数时都必须创建自己的常量。
编辑
正如其他人所建议的那样,与其为每个选项设置单独的
bool
s,从而为每个选项设置一个单独的enum
,不如将单个enum
配置为位标志。