[[nodiscard]]
C++17 标准中引入的属性,如果是
... 可能评估的丢弃值表达式,...,鼓励实现在这种情况下发出警告。
资料来源:n4659,C++17 最终工作草案。
在cppreference上使用了类似的措辞,以防“违规”:
鼓励编译器发出警告。
为什么用鼓励这个词而不是要求?void
是否存在编译器最好不发出警告的情况(显式转换为 除外)?在相对安全的要求无论如何都发出警告的特定情况下软化标准语言的原因是什么(再次,除了,说,明确的强制转换为无效)?
[[nodiscard]]
C++17 标准中引入的属性,如果是
... 可能评估的丢弃值表达式,...,鼓励实现在这种情况下发出警告。
资料来源:n4659,C++17 最终工作草案。
在cppreference上使用了类似的措辞,以防“违规”:
鼓励编译器发出警告。
为什么用鼓励这个词而不是要求?void
是否存在编译器最好不发出警告的情况(显式转换为 除外)?在相对安全的要求无论如何都发出警告的特定情况下软化标准语言的原因是什么(再次,除了,说,明确的强制转换为无效)?