洛谷日报历年目录
  • 板块学术版
  • 楼主洛谷
  • 当前回复13917
  • 已保存回复13949
  • 发布时间2018/7/3 12:07
  • 上次更新2025/3/21 17:23:58
查看原帖
洛谷日报历年目录
3
洛谷楼主2018/7/3 12:07
2018/7/3 12:07
215697
LeavingZzzZzz2020/5/2 20:05

@cosmicAC fixed&thx

2020/5/2 20:05
30093
cosmicAC2020/5/3 00:41

我的第三次投稿,C++20部分语法介绍

2020/5/3 00:41
250637
UnyieldingTrilobite2020/5/3 13:59

2020/5/3 13:59
30093
cosmicAC2020/5/3 16:23

@andyli 协程还是算了吧。

刚才我详细了解了一下C++20的所谓"协程",只是定义了co_yieldco_returnco_await三个关键字,实际上是三个(需要你手动重载的)运算符,重载的过程中还必须手动指定各种情况(比如generator如何返回值、如何跳到下一项、如何挂起,如何恢复)该如何处理。可以参考这篇文章找到具体的处理方法。代码量巨大,只是一个最最基础的演示就需要300行10K的代码。放到日报里是不现实的。

还有,如果使用std::future接入协程,代码会简短很多(相当于已经站在巨人的肩膀上了)。然而这件事只有MSVC支持,g++和clang++都不支持。所以应用场景极其有限,我不仅本地无法运行,也找不到在线的测试环境,也没办法写。

如果真的特别需要这项功能的话,可以试着了解一下C的setjmplongjmp函数,以及boost::coroutines,都比C++20的协程好用很多。

2020/5/3 16:23
161447
就皮这一下2020/5/4 09:36
2020/5/4 09:36
219935
JeffWang20192020/5/4 12:22

Undefined Behavior

2020/5/4 12:22
333790
Frank11242020/5/4 14:02

后排茈兹

2020/5/4 14:02
325613
Implicit2020/5/4 14:07

UB 都人尽皆知了日报才出现

2020/5/4 14:07
325613
Implicit2020/5/4 14:10

@就皮这一下 缩小定义范围会被多次执行构造函数导致变慢罢qaq

2020/5/4 14:10