+ 2
What to do next after learning basic c++
Beginner
5 ответов
+ 6
Dennis can you please refer some good books pdf or sites for Advanced C++?
+ 4
Learn advanced C++
+ 4
Thank you so much Dennis ☺
+ 3
Probably the best book that everyone that is serious about C++ should read is Effective Modern C++ by Scott Meyers, it teaches you alot of how C++ works and how you should use it, including pitfalls that you should be aware of.
You see a preview here:
https://www.oreilly.com/library/view/effective-modern-c/9781491908419/
Advanced Topics include things like
Class operator overloading,
Templates,
Smart pointers,
Lambda functions.
If you don't know about things like functions, classes, polymorphism and inheritance then you're probably not yet ready for those advanced topics.
Advanced C++ also uses ALOT of the std library.
The std library is huge and I think the biggest problem is not being aware of everything that exists in it.
So the best source out there is the cppreference site:
https://en.cppreference.com/w/
Out of these things I wanna highlight, what I think are probably the most important things to start with.
Containers: https://en.cppreference.com/w/cpp/container
----------------
Vector: https://en.cppreference.com/w/cpp/container/vector
Map: https://en.cppreference.com/w/cpp/container/map
Stack: https://en.cppreference.com/w/cpp/container/stack
Queue: https://en.cppreference.com/w/cpp/container/queue
Manager classes like:
----------------
Strings: https://en.cppreference.com/w/cpp/string/basic_string
Unique pointers: https://en.cppreference.com/w/cpp/memory/unique_ptr
Literally everything inside the algorithm and numeric header:
----------------
https://en.cppreference.com/w/cpp/algorithm
https://en.cppreference.com/w/cpp/numeric
Then there are things like idioms:
https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms
And then there are design patterns that you should learn as well:
https://en.wikibooks.org/wiki/C%2B%2B_Programming/Code/Design_Patterns
Of which I think the Iterator is the most important one because it is used literally everywhere in the std library.
No need to rush things, no one expects you to learn these things in just a few months.
+ 3
Also forgot to mention this thing, which is relatively new:
http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines