C++
Core language, memory management, STL, and modern C++ (11/17/20); write fast, safe, and readable code.
What is C++?
C++ is a compiled language for high-performance, system-level development. With RAII, templates, and modern standards (C++11/14/17/20/23) it supports both OOP and generic programming.
It’s preferred in game engines, embedded systems, finance, and HPC. The STL (algorithms, containers) and smart pointers provide memory safety and performance together.
TL;DR
- Modern C++:
auto,move semantics,constexpr,ranges. - Build & packaging: CMake, dependencies with vcpkg/Conan.
- Quality: sanitizers, static analysis, and unit tests.
Fundamentals
Introductory topics for starting with C++, including basic syntax, variables, operators, loops, and functions.
What is C++? First Steps in Programming
Learn the basics of C++ programming, its core concepts, common use cases, and how to write your first programs.
Setting up C++ Compiler & IDE (Visual Studio, GCC, Clang)
Learn how to set up a C++ development environment using Visual Studio, GCC, and Clang compilers with step-by-step guidance.
First C++ Program: How “Hello World” Works
Write your first C++ program and learn how “Hello World” works, including compilation, execution, and basic program flow.
Variables, Data Types, and auto in C++
Learn variables, data types, and the auto keyword in C++ with practical examples of type deduction and memory usage.
Operators in C++: Arithmetic, Comparison, Logical
Learn arithmetic, comparison, and logical operators in C++ to perform calculations and control program flow effectively.
Conditional Statements in C++: if, else if, switch
Learn conditional statements in C++ using if, else if, and switch to control decision-making and program flow.
Loops in C++: for, while, do-while
Learn loops in C++ using for, while, and do-while statements to repeat tasks and control program execution efficiently.
Introduction to Functions in C++: Define, Call, Parameters
Learn functions in C++, including defining, calling, and using parameters to build modular and reusable programs.
Scope and Lifetime in C++
Learn scope and lifetime in C++ to understand variable visibility, object lifetime, and memory management concepts.
String Handling in C++: C-Style and std::string
Learn string handling in C++ using C-style strings and std::string for text processing, concatenation, and manipulation.
Memory and Pointers
Articles covering pointers, references, dynamic memory management, and addressing in C++.
Addresses and Memory Basics in C++
Learn the basics of addresses and memory in C++, including memory layout, variable addresses, and how data is stored.
References vs Pointers in C++
Learn the differences between references and pointers in C++, including use cases, advantages, and memory management.
Passing Parameters to Functions via Pointers in C++
Learn how to pass parameters to functions via pointers in C++, including address passing, memory access, and practical examples.
Relationship Between Arrays and Pointers in C++
Learn the relationship between arrays and pointers in C++, including memory layout, pointer arithmetic, and array access.
Dynamic Memory Management in C++: new and delete
Learn dynamic memory management in C++ using new and delete to allocate, release, and manage memory safely.
Memory Leaks and Analysis with Valgrind in C++
Learn how to detect memory leaks in C++ and analyze applications with Valgrind to improve stability and memory usage.
Multidimensional Arrays and Pointer Usage in C++
Learn multidimensional arrays and pointer usage in C++, including memory layout, indexing, and pointer arithmetic with examples.
Introduction to Smart Pointers in C++
Learn smart pointers in C++, including unique_ptr, shared_ptr, and weak_ptr for safe memory management and modern C++ development.
Object-Oriented Programming
Detailed topics on classes, inheritance, polymorphism, and operator overloading in object-oriented C++ programming.
Introduction to Classes in C++
Learn the fundamentals of classes in C++, including class definitions, objects, members, and object-oriented programming concepts.
Constructors and Destructors in C++
Learn constructors and destructors in C++ to understand object lifetime, initialization, and resource management.
Copy Constructor and Assignment Operator in C++
Learn copy constructors and assignment operators in C++ to understand copy semantics, object ownership, and resource management.
What is the this Pointer in C++?
Learn how the this pointer works in C++, including object self-reference, method chaining, and class design techniques.
Operator Overloading in C++
Learn operator overloading in C++ to customize arithmetic, comparison, and other operators for your own classes.
Basics of Inheritance in C++
Learn the basics of inheritance in C++, including base and derived classes, access specifiers, and code reuse.
Multiple Inheritance and the Diamond Problem in C++
Learn multiple inheritance and the Diamond Problem in C++, including virtual inheritance and practical solutions.
Polymorphism in C++: Virtual Functions and Vtable
Learn polymorphism in C++ using virtual functions, vtables, and dynamic dispatch to build flexible object-oriented applications.
Abstract Classes and Interfaces in C++
Learn abstract classes and interfaces in C++ using pure virtual functions to design flexible and extensible software architectures.
Encapsulation and Access Modifiers in C++ (public, protected, private)
Learn encapsulation and access modifiers in C++ using public, protected, and private to build secure and maintainable classes.
Standard Library and STL
Comprehensive articles on the C++ Standard Library, STL containers, algorithms, and iterators.
Overview of the C++ Standard Library
Learn the C++ Standard Library, including STL containers, algorithms, iterators, and essential components for modern C++ development.
Using std::vector in C++
Learn how to use std::vector in C++ for dynamic arrays, efficient element management, and practical programming examples.
Sequential Data Structures with std::list and std::deque in C++
Learn how to use std::list and std::deque in C++, including performance differences, use cases, and sequential data management.
Key-Value Structures with std::map and std::unordered_map in C++
Learn how to use std::map and std::unordered_map in C++ for efficient key-value storage, fast lookups, and practical applications.
Unique Elements with std::set and std::multiset in C++
Learn std::set and std::multiset in C++ to manage unique elements, ordered collections, and efficient search operations.
Using std::stack, std::queue, and std::priority_queue in C++
Learn how to use std::stack, std::queue, and std::priority_queue in C++ for efficient data processing and algorithm design.
pair, tuple, and Structured Binding in C++
Learn pair, tuple, and structured binding in C++ to manage multiple values and write cleaner, more modern code.
The C++ algorithm Library: sort, find, count
Learn the C++ algorithm library, including sort, find, count, and other STL algorithms for efficient data processing.
Lightweight String Handling with std::string_view in C++
Learn std::string_view in C++ to perform fast, lightweight string operations without unnecessary string copying.
Iterators and Their Use in the C++ STL
Learn iterators in C++ and how they work with STL containers and algorithms to traverse and manipulate data efficiently.