1

为什么实验名称is_ready() 被认为是对 STL 编码风格的增强,std::future而不是ready()更符合 STL 编码风格?Future 已经有一个valid()没有is_前缀的方法被调用。

有趣的是,N3721N3865都包含这两个名称。

4

2 回答 2

0

<speculation>

我怀疑is_ready()更清楚。阅读代码时if (future.is_ready())几乎听起来是英语,显然意味着is_readyconst. if ( future.ready() )听起来可能意味着“future需要准备好,然后返回”或“future已经准备好”。

</speculation>

于 2019-10-19T15:18:19.657 回答
0

我怀疑这是因为已经存在 enum constant std::future_status::ready。所以is_ready()检查状态ready。尽管它们都在不同的命名范围内,但我认为作者希望避免名称交叉。

于 2019-10-19T15:24:42.530 回答