函数一种推荐的策略是,遇到错误时尽快退出。一般来说这个叫快速失败策略。
比较懒的人很难一直遵循这个规则,所以不如直接写个宏吧。
#include <iostream>
// 尽早退出
#define RET_IF(_CONDITION_, RET_VALUE, ...) \
do { \
if (_CONDITION_) { \
__VA_ARGS__; \
return RET_VALUE; \
} \
} while (0)
// 测试用例
int exampleFunction(int x) {
RET_IF(x < 0, -1); // 没有额外操作
RET_IF(x == 0, 0, std::cout << "x is zero\n";); // 带额外操作
// 如果没有提前返回
std::cout << "x is positive\n";
return 1;
}
int main() {
std::cout << "Result: " << exampleFunction(-5) << std::endl;
std::cout << "Result: " << exampleFunction(0) << std::endl;
std::cout << "Result: " << exampleFunction(5) << std::endl;
return 0;
}
标签:__,策略,int,RET,VALUE,失败,C++,CONDITION
From: https://www.cnblogs.com/xdblog/p/18611983/cpp_fast_fail