What would be the best learning path to take for young people wanting to learn C++ today, especially with a focus on free software? Thanks for your attention!

First of all, and most important one, learn C++ idioms, not C.

This means making use of library types for memory allocation, vectors and strings.

There is a place for old C style low level features, but those should come later, after the safer concepts are already ingrained.

Kate Gregory's “Stop Teaching C" talk at CppCon 2015 explains better than me.

https://www.youtube.com/watch?v=YnWhqhNdYyk

Get a nice IDE, QtCreator, Clion, VC++ Community, KDevelop, XCode.

Besides the "Tour of C++", check Stephan T. Lavavej talks at Channel 9.

"Core C++ Lectures"

https://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavav...

"Advanced STL", these ones only when you already have a good understanding of STL as user

https://channel9.msdn.com/Series/C9-Lectures-Stephan-T-Lavav...

Also check video presentations from NDC, ACCU, CppCon, CppNow and C9 Going Native.

Is the Chrome source good source code to read? I always find they very organized in the high level, but don't know if its actually good C++ code.

Yes, it is. Maybe not for the begginer, but Google open source C++ stuff tend to have a great code quality.

Also, the modern open source C++ stuff from Microsoft is also great.

Go for Chrome, V8, Dart, ChakraCore, the C++ part of DotNet VM.

But the only "problem" with them, is that they use their own sort of smart pointers, but if you know that they map 1-1 to smart pointers from std:: when you need to use the std ones, its not a big deal.

Chrome for instance have scoped_ptr = unique_ptr, scoped_refptr = shared_ptr, etc..

Any examples of code bases using these modern features like co-routines? I'd love to see an example of it being used in real code.

While it doesn't use coroutines that I know of, the Dolphin emulator[1] generally makes good use of modern C++ features.

[1]: https://github.com/dolphin-emu/dolphin