提问人:amutamil 提问时间:11/2/2023 最后编辑:amutamil 更新时间:11/3/2023 访问量:117
在 c++ 中优化 if 大小写以调用成员函数
Optimizing if case in c++ for calling member functions
问:
HRESULT Block::SendAlarm(const std::string& variableName, USHORT value)
{
if (variableName == aAtt_name_Fault) builder.Alarms().Fault(value);
if (variableName == aAtt_name_BATT) builder.Alarms().BATT(value);
if (variableName == aAtt_name_PWR) builder.Alarms().PWR(value);
if (variableName == aAtt_name_OCCLUSION) builder.Alarms().OCCLUSION(value);
... many if statements follows
return S_OK;
}
我有上面的代码,其中 builder 是 Ventilator 对象,Alarms() 是 builder 的成员类和对象。现在比较输入字符串并调用构建器的成员函数。alarms() 使用 If 条件。还有其他更好的方法可以做到这一点吗?
答: 暂无答案
评论
else if
std::map
variableName
Alarms
else if