C++ std::future 方法应该<T>命名为 is_ready() 还是 ready()?
Should C++ std::future<T> method be named is_ready() or ready()?
为什么实验名称is_ready()
被认为是对std::future
的增强,而不是ready()
更符合STL编码风格?Future 已经有一个名为valid()
的方法,它也没有is_
前缀。
有趣的是,N3721和N3865都包含这两个名称。
我怀疑这是因为已经存在的枚举常量std::future_status::ready
.因此,is_ready()
检查状态ready
。尽管它们都位于不同的命名范围内,但我认为作者希望避免名称交集。
<speculation>
我怀疑is_ready()
更清楚。 阅读代码时if (future.is_ready())
几乎是英语,显然意味着is_ready
const
。if ( future.ready() )
听起来可能意味着"future
需要做好准备,然后返回"或"future
已经准备好了"。
</speculation>
相关文章:
- 架构决策:返回std::future还是提供回调
- 使用用户定义的参数调用future/async并调用类方法
- std::p romise::set_value() 和 std::future::wait() 是否提供内存围栏?
- 修改在 std::future 的 lambda 中引用捕获的值
- PostgresSQL - SQL Ready 语句与字符串转义,防止 SQL 注入攻击
- 从 T 创建 std::future 的最佳方式<T>
- C++ std::future没有被调用
- 对于等待以 std::future wait() 返回的函数的 CPU 使用率或检查标志在循环中休眠一段时间哪个更好?
- 如何使用 boost::future 重新抛出 std::exception_ptr 存储的原始异常?
- Make zmqpp::socket::connect a std::future
- std::future可以比std::promise活得更长吗
- std::future::get()或std::future::wait()是std::thread::join()的替
- 使用 future 时获取 C2280(尝试引用已删除的函数)
- 当 std::future 准备好被检索时发出信号主线程
- C++ std::future 方法应该<T>命名为 is_ready() 还是 ready()?
- 为什么printf会导致与future.get的死锁,而cout则不会?
- 当多次调用时,"std::future::then"的行为是什么?
- 使用 std::vector<std::future<int>> 和 std::async 启动几个线程时中止
- 使用 std::future 的不完整类型无效使用
- boost::future::那它是如何实现的?