早期回报构成功能的最简短方法
What the briefest way to compose functions with early returns?
我经常使用以下模式编写函数,这些函数写入参数给出的参数,而其他将相同参数作为常数的参数。
例如:
bool App::Initialize()
{
Config config;
if (!ReadConfig(config))
return false;
if (!ApplyConfig(config))
return false;
}
这些方法的签名是:
bool ReadConfig(Config& config);
bool ApplyConfig(const Config& config);
上面的方法需要多次提及config
,if
和return
。在C 中,是否有一种使这种类型的"链"调用的简短形式?
伪代码中的类似内容:
bool App::Initialize()
{
return build<Configs>().get(&App::ReadConfig).use(&App::ApplyConfig);
}
好吧,如果这就是所有功能,您总是可以利用逻辑运算符的短路评估:
bool App::Initialize()
{
Config config;
return ReadConfig(config) && ApplyConfig(config);
}
相关文章:
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何使用 C/C++ 和 system() 系统调用以外的其他方法在 Linux 中获取文件功能?
- C++中SFINAE的功能方法
- 如何定义和设置指向模板类方法的功能指针
- 将C 方法作为功能指针传递
- 寻找一种加速功能的方法
- 单位测试私人方法通过使其自由功能
- 如何通过功能指针调用派生方法
- 在具有多个返回点的功能中清理的正确方法
- C 模板功能是否有任何方法可以采用n个参数
- 是否有一种方法可以避免在RVALUE和LVALUE参考中创建功能时避免重复的代码
- 从功能指针调用方法
- 早期回报构成功能的最简短方法
- 实现交换/复制功能:有没有更好的方法
- 正确的方法将功能限制为特定数据类型
- 测试模拟功能的最佳方法
- C 获得超载成员功能指针的通用方法
- 有什么方法可以将此功能分开并插入空间
- C 中重复的构造函数和方法功能
- c++的static_cast和虚方法功能