C++快速失败策略

函数一种推荐的策略是,遇到错误时尽快退出。一般来说这个叫快速失败策略。
比较懒的人很难一直遵循这个规则,所以不如直接写个宏吧。

#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;
}

posted @ 2024-12-17 11:31  Smalldy  阅读(35)  评论(0)    收藏  举报