账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    C++中 预定义宏是否应该由inline函数取代
    44
    0

    在<Effective C++>中,有一个条款是这样的:
    现代的C++程序设计原则不推荐适用宏定义常量或函数宏,应该尽量少的使用 #define ,如果可能,用 const 变量或 inline 函数代替。

    但在Debug程序的时候需要一些预定义宏,如__DATE__,__FILE__,__LINE__,__FUNCTION__等。请问面对这种情况,是否应该用inline来代替define呢。

    如果需要 下面这种情况应该如何替代呢。

    #define log_err(M, ...) fprintf(stderr, "[ERROR] (%s:%d: errno: %s) " M "\n", __FILE__, __LINE__, clean_errno(), ##__VA_ARGS__)
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部