C++ Programming Language
C++ is a programming language known for its fast speed, low level memory management and is often taught as first programming language.
- C++ is used in 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
- Identifiers
- Keywords
- Variables
- Data Types
- Quiz: Basics | Variables and Data Types
- Operators
- Basic Input / Output
- 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
- Parameter Passing Techniques
- Default Arguments
- Recursion
- Inline Functions
- Lambda Expression
- Quiz: Functions
Compound Data Types
Compound data types are created from the built-in data types. This section guides you through important compound data types such as array, strings, pointer and structures that helps in managing complex real-world data.
- Arrays
- Pointers
- References
- Quiz: Array | Pointer | Reference
- Strings
- Structures
- Unions
- Enumeration
- Quiz: Strings | Structure and Union
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
- 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.
Advanced Concepts
This section covers advanced concepts in C++ such as move preprocessor, multithreading, 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.
Important Links
Introduction to C++
First C++ Program
Variables in C++
Data Type in C++
Type Conversion C++