我应该什么时候使用 \[\[maybe_unused\]\]?

新手上路,请多包涵

使用 [[maybe_unused]] 有什么好处?考虑

int winmain(int instance, int /*prevInstance*/, const char */*cmdline*/, int show);

int winmain(int instance, [[maybe_unused]] int prevInstance, [[maybe_unused]] const char *cmdline, int show);

有些人可能坚持认为使用注释是丑陋的,因为这个关键字是在这种情况下制作并打算使用的,我完全同意,但是 maybe_unused 关键字对我来说似乎有点太长了,使得代码略难阅读。

我想尽可能“严格”地遵循标准,但值得使用吗?

原文由 vbstb 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 788
1 个回答

如果该参数肯定未被使用, [[maybe_unused]] 并不是特别有用,未命名的参数和注释可以正常工作。

[[maybe_unused]] 主要用于 可能 未使用的东西,例如

void fun(int i, int j) {
    assert(i < j);
    // j not used here anymore
}

这不能用未命名的参数处理,但如果定义了 NDEBUG ,将产生警告,因为 j 未使用。

当参数仅用于(可能禁用)日志记录时,可能会发生类似情况。

原文由 Baum mit Augen 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题