我目前正处于代码优化阶段,我需要帮助:我有大量函数以参数std::string
作为参数std::string
,并在其中将这些double
转换为{{1} }使用std::stod
。我希望能够创建一个“网关”功能,该功能允许立即更改该功能的所有参数。我曾经想到过使用可变参数模板的功能。你能帮我吗?这是我的一项功能的示例:
std::optional<d> rectangle(const std::string& length, const std::string& width) {
if (others::is_type<double>(length) && others::is_type<double>(width)) {
d length_ = stod(length);
d width_ = stod(width);
return std::round((length_ * width_) * options::rounder) / options::rounder;
}
return {};
}
如果要我添加更多详细信息或要详细说明此功能中使用的其他功能,请在评论中询问我。我已经感谢所有愿意回答的人。
要回答第一个评论:网关功能将收集另一个功能的参数(暂时不知道如何),验证它们是否为字符串,然后将其转换为双精度。目的是能够只使用此功能,而不是一直都写“ double ... = stod(...)”(因为我有很多功能)。