Lectures and projects for the C++ for yourself course
This repository is a collection of Markdown scripts used for all the videos in the C++ for yourself course.
These can be used to follow-along the video or as a standalone learning material.
Please remember that there is a human behind all of this work. I write scripts, create animations, record and edit videos at night after a full-time work day. It is at times hard. But you can make it easier. Here is what you can do:
- πΆ Become a sponsor on GitHub!
- πΈ Can't support monetarily?
- π Like the videos and watch them to the end!
- π¬ Leave comments on YouTube!
- π’ Spread the word among your friends!
- βοΈ Star the repo to help others find it!
- π€¬ Don't like something? π£οΈ Talk to me about it! I am always eager to improve.
The course is designed to be consumed from top to bottom, so start at the beginning and you will always have enough knowledge for the next video.
That being said, I aim to leave links in the videos so that one could watch them out of order without much hassle.
Enjoy! π
Hello World program in C++ |
Hello world program dissection
|
|
Variables of fundamental types
|
|
|
Sequence and utility containers
|
Associative containers
|
|
|
Random number generation
|
|
Compilation flags and debugging
|
Functions
|
|
Libraries and header files
|
Build systems introduction
|
CMake introduction
|
Using GoogleTest framework for testing code
|
Installing projects and using
|
|
Simple custom types with classes and structs
|
Raw pointers
|
Object lifecycle
|
Move semantics
|
Constructors, operators, destructor - rule of all or nothing
|
|
Const correctness
|
|
Keyword
|
Keyword
|
Templates: why would we want to use them?
|
Templates: what do they do under the hood?
|
How to write function templates
|
How to write class templates
|
Forwarding references |
Header and source files for templated code |
Almost everything about inheritance
|
|
|
Error handling in C++
|
|
Storing callables with
|
Parallelism in modern C++
|
If you do find an error in some of those, please open an issue in this repo!
