似乎 empty() 是唯一被标记为 nodiscard 的函数。

其他类似的函数,例如 size() 则没有。

这是为什么 ?

最佳答案

首先,我希望将来会有更多功能标记为[[nodiscard]]

但是,empty传统上是新用户的困惑点。他们认为这是一个动词,并且它将删除容器的所有元素(此处的正确调用是clear)。

因此,将empty标记为[[nodiscard]]会捕获人们期望它对容器产生某些作用的所有位置(而不只是返回size() == 0)

09-25 21:44