std::noop_coroutine与noop_coroutine_handle是否存在冗余性?
关于C++标准库引入std::noop_coroutine系列符号的疑问
在GCC 15中,std::noop_coroutine的定义如下:
{ return std::noop_coroutine_handle(); }
std::noop_coroutine_handle的定义为:
using noop_coroutine_handle = std::coroutine_handle<std::noop_coroutine_promise>;
要获取无操作协程,我们可以这样写:
std::noop_coroutine()
它(个人认为)等效于:
std::noop_coroutine_handle{}
以及:
std::coroutine_handle<std::noop_coroutine_promise>{}
因此我认为标准库只需提供std::noop_coroutine_promise(以及一些将其作为模板参数的特化)即可。为何标准要引入这三个新符号?(仅个人观点,觉得有些随意。)
内容的提问来源于stack exchange,提问作者shynur
相关产品推荐
相关产品推荐

