Basics
In this section you can learn topics required for school level programming or when you are just starting to learn C++ in general.
- Language overview
- Introductory materials
- Console programming
- Strings
- Bits
- Basic algorithms
- STL - data structures and algorithms
- Standard library
- Debugging
- Preprocessor
- File processing
- Tools
- Books
Advanced topics
These topics are required to know if you want to be able to build most of types of business applications.
- Language standards
- Boost
- GUI
- Database programming
- SQLite
- Qt
- Embedded SQL
- etc.
- Advanced data structures
- Structure alignment
- Regular expressions
- Unicode support
- Exceptions
- Namespaces
- OOP
- Generic programming
- Functional programming
- Template metaprogramming (TMP)
- Dependency injection
- Parallel computing
- Network programming
- includes serialization
- Signals
- RTTI
- Advanced memory allocation
- Quality Assurance (QA)
- Logging
- Coding standards
- Design patterns
- C++ idioms
- Code documentation
- Dynamic libraries & components (plugins, COM, DCOM)
- Embedding data in executable
- Code obfuscation
- Executable code protection
- Software Patching
- Version control: GIT, SVN, etc.
- Build tips & tools: CMake, Autotools, Boost.Build, etc.
- CI: Continuous Integration
- Deployment
- Structured data: XML, JSON, CSV
- Advanced algorithms: compression, entropy, encryption, AI etc.
- OS integration: deamons, drivers, clipboard, process & resources monitoring
- Blogs
Expert topics
Topics relevant for senior C++ developers.