A tour of C++ 2nd edition: https://www.stroustrup.com/tour2.html
C++ Core Guidelines: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
GSL (Core Guidelines Support Library): https://github.com/Microsoft/GSL
Re:The Sad Truth About C++ Copy Elision
by AnimalMuppet on Saturday April 03, 2021 @01:47PM
(#26683034)
I second the recommendation of A Tour of C++. It's not going to give you a detailed explanation of every page of the specification. It's going to show you the basics of using the major parts, and why they are the way they are. From there, start exploring on your own.
Then read some code and write some code. Don’t worry about efficiency. You can read the “core guidelines” as well which are quite useful, but for a complete beginner many of them will be more than you need.
Like Lisp, C++ is a multi paradigm language: you can write procedural, o-o, and other styles of code. It has a pretty powerful type system.
Don’t worry about old, c-inspired c++. If you know C, as a learner consider c++’s relationship with C to be no different from Java’s or even Python’s relationship with C: some common syntax and conventions. Of course C++ is indeed more tightly coupled with C, but if you think of it that way you will make your life significantly harder, especially when starting out.
I find c++ pretty convenient for rapidly prototyping something that runs reasonably quickly. Then if I care I have enormous power for optimizing...but it’s often unnecessary.