C++ is a programming language known for its fast speed, low level memory management and is often taught as first programming language.
- Used for making operating systems, embedded systems, graphical user interfaces and nowadays in High Frequency Trading (HFT) systems.
- Supports both low-level and high-level features such as manual memory management and Object Oriented Programming respectively.
- Syntax similarity with C, Java, and C# makes it easier to switch languages.
- Provides one of the fastest execution speeds among high level languages, which can be a deciding factor in Competitive Programming or high-performance applications.
Basics
This section guides you through the basic concepts of C++ programming. It covers topics that teaches you to write your first program, manage data, perform different operations and control the flow of the program.
- Introduction
- Installing C++ Compiler
- Setting up C++ Development Environment
- Basic Input / Output
- Identifiers
- Keywords
- Variables
- Data Types
- Quiz: Basics | Variables and Data Types
- Operators
- Quiz: Operator | Input Output
- Conditional Statements
- Loops
- Quiz: Control Statements | Loops
Function
Functions allow users to divide the program into multiple blocks each performing a specific task. This section teaches you how to work with functions to write a modular and reusable code.
- Functions
- Function Overloading
- Parameter Passing
- Default Arguments
- Inline Functions
- Recursion
- Lambda Expression
- Quiz: Functions
Arrays and Strings
Arrays and Strings are fundamental data structures used to store and manipulate collections of data efficiently, enabling organized data management and text processing in C++.
Pointers and References
Pointers and References are features used to access, manage, and manipulate memory efficiently, enabling dynamic memory management and optimized program performance.
User Defined Data Types
User-defined data types allow programmers to create custom data structures that organize related data together, making programs more structured, readable, and easier to maintain.
Dynamic Memory Management
C++ allows the low-level memory manipulation using pointers and dynamic memory allocation/deallocation operators. This section guides you through the basis of dynamic memory management.
Object Oriented Programming (OOP)
This section covers key concepts of Object-Oriented Programming (OOP) in C++ such as classes, objects, encapsulation, inheritance, polymorphism, and abstraction.
- Object Oriented Programming (OOP)
- Classes and Objects
- Constructors
- Encapsulation
- Polymorphism
- Inheritance
- Abstraction
- Quiz: OOP Quiz
Standard Template Library (STL)
This section covers Standard Template Library (STL) which is an in-built library that provides a set of commonly used data structures such as vectors, lists, stacks, queues, maps, etc. and algorithms that enhance productivity and performance.
- Templates
- Standard Template Library (STL)
- Algorithms
- Containers
- Iterators
- Vector
- Stack
- Queue
- Map
- Set
- Quiz: STL Quiz
Exception Handling
Exception handling are the techniques to handle runtime errors efficiently. This section covers how to handle exceptions to prevent crashes and improve the reliability of applications.
- Exception Handling
- Exception Handling using Classes
- Stack UnwindingÂ
- User-Defined Exceptions
- Quiz: Exception Handling Quiz
File Handling
File handling allows programs to store and retrieve data from files. This section introduces file handling in C++ using streams. It covers reading from and writing to files using streams.
Multithreading
Multithreading allows a program to perform multiple tasks simultaneously by executing multiple threads within a single process.
- Introduction
- Creating Threads
- std::thread::join()
- Detach a Thread
- Mutex
- Lock Guard
- Race Conditions
- Thread Synchronization
Advanced Concepts
This section covers advanced concepts in C++ such as move preprocessor, etc. Mastering these topics allows developers to write efficient, high-performance C++ applications.
Skill Assessments
Test what you have learnt through this C++ using a series of our Skill Assessment Test.
- Beginner Skill Assessment Practice Test
- Intermediate Skill Assessment Practice Test
- Advanced Skill Assessment Practice Test
Interview Questions
Quickly prepare yourself for C++ interviews with the help of our carefully curated list of commonly asked interview questions.