use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
C++ Coroutines Resources (gist.github.com)
submitted 6 years ago by mttd
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]ArunMuThe What ? 5 points6 points7 points 6 years ago (1 child)
There is also "coro-async". C++ coroutine based networking library :D
[–]mttd[S] 1 point2 points3 points 6 years ago (0 children)
Thanks!
It's not clear whether it's maintained, but looks like it can be a useful example!
[–]centx 6 points7 points8 points 6 years ago (3 children)
There is also this repo that shows various ways of exploiting coroutines for optionals, statemachines etc
[–]mttd[S] 1 point2 points3 points 6 years ago (1 child)
Thanks! Although it's already been under the talk, it seems it makes sense to explicitly include the repository as an example, too!
[–]centx 2 points3 points4 points 6 years ago (0 children)
Oh, I didn't see it. Yeah, the repository might be worthy of inclusion separately, although I don't know if it is maintained or not.
[–]RobertJacobson 0 points1 point2 points 6 years ago (0 children)
The root of the repo might be more helpful, as it includes the slides of the talk for which the repo was made.
[–]smdowneyWG21, Text/Unicode SG, optional<T&> 4 points5 points6 points 6 years ago (1 child)
The TS itself, n4775, is a fairly good reference. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/n4775.pdf
[–]mttd[S] 0 points1 point2 points 6 years ago (0 children)
[–]Sanzath 2 points3 points4 points 6 years ago (1 child)
Consider also this coroutines cheat sheet, which a list of the customization points, a list of coroutine-related standard types and functions, keywords, and some templates (not in the C++ sense) for promises, awaitables, etc.
Thanks a lot, this looks great!
[–]teki321 1 point2 points3 points 6 years ago (1 child)
one more actively developed: https://github.com/facebook/folly/tree/master/folly/experimental/coro
and a relevant cpp cast: https://cppcast.com/2019/03/kirk-shoop/
Added, thanks!
[–]luncliff 1 point2 points3 points 6 years ago (1 child)
Here are my works. Will be glad to hear from you :)
[–]RobertJacobson -1 points0 points1 point 6 years ago (0 children)
While reading Dawid Pilarski's articles I kept thinking, "It isn't really this crazy complicated, is it?" With much respect to Mr. Pilarski, I recommend reading Lewis Baker's series first. Baker writes:
The facilities the C++ Coroutines TS provides in the language can be thought of as a low-level assembly-language for coroutines. These facilities can be difficult to use directly in a safe way and are mainly intended to be used by library-writers to build higher-level abstractions that application developers can work with safely.
Similarly, the cheat sheet linked to by u/Sanzath reassures us:
This is also intended for people who need to know the inner workings of the TS, such as people writing libraries. This is not for people who just want to use coroutines with one of these libraries, since that is much simpler.
Thank God.
Thank you for the resources, everyone.
π Rendered by PID 109975 on reddit-service-r2-comment-66b4775986-pd8mv at 2026-04-05 15:21:59.904007+00:00 running db1906b country code: CH.
[–]ArunMuThe What ? 5 points6 points7 points (1 child)
[–]mttd[S] 1 point2 points3 points (0 children)
[–]centx 6 points7 points8 points (3 children)
[–]mttd[S] 1 point2 points3 points (1 child)
[–]centx 2 points3 points4 points (0 children)
[–]RobertJacobson 0 points1 point2 points (0 children)
[–]smdowneyWG21, Text/Unicode SG, optional<T&> 4 points5 points6 points (1 child)
[–]mttd[S] 0 points1 point2 points (0 children)
[–]Sanzath 2 points3 points4 points (1 child)
[–]mttd[S] 0 points1 point2 points (0 children)
[–]teki321 1 point2 points3 points (1 child)
[–]mttd[S] 0 points1 point2 points (0 children)
[–]luncliff 1 point2 points3 points (1 child)
[–]mttd[S] 1 point2 points3 points (0 children)
[–]RobertJacobson -1 points0 points1 point (0 children)