我读过使用具有零动态分配的Coroutine一篇文章,作者坚持认为HALO适用于coroutines,他提供了一个螺栓连接,它展示了在clang5.0中应用的生成器示例HALO。
但是,对于最近版本的clang(在godbolt上使用clang13.0.1),我可以看到对操作符new的调用。事实上,我找不到任何最近的编译器支持光晕的corouine。我已经测试了MSVC 2019/2022,GCC 11.2和所有装配显示调用操作员新。
正如作者在那篇文章中所坚持的那样,我真的可以依赖光环吗?例如,即使在C++17将复制ellision纳入标准之前,RVO也是相当可靠的。我应该为我的合作计划期待光环吗?
发布于 2022-06-27 10:56:36
最初的示例使用-O3,而不是-O2。
看起来光环确实发生了,但取决于额外的优化传递。
我所做的就是将它更新为C++20和stdx -> std。
https://stackoverflow.com/questions/71581531
复制相似问题