C++ Fundamentals
C++ Fundamentals begins by introducing you to the C++ syntax. You will study the semantics of variables along with their advantages and trade-offs, and see how they can be best used to write safe and efficient code. With the help of this course, you’ll be able to compile fully working C++ programs and understand how variables, references, and pointers can be used to manipulate the state of the program. You will then explore functions and classes— the features that C++ offers to organize a program—and use them to solve more complex problems. You’ll also understand common pitfalls and modern best practices, especially the ones that diverge from the C++98 guideline.
As you advance through the chapters, you’ll study the advantages of generic programming and write your own templates to make generic algorithms that work with any type. This C++ course will guide you in fully exploiting standard containers and understanding how to pick the appropriate container for each problem. You will even work with a variety of memory management tools in C++.By the end of the course, you'll be equipped with all that you need to know to develop robust and high performance infrastructure.
By the end of this course, you will not only be able to write efficient code, but also be equipped to improve the readability, performance, and maintainability of your programs using standard algorithms.
After completing this course, you will be able to:
- Work with the C++ compilation model and syntaxes
- Apply best practices for writing functions and classes
- Write safe, generic, and efficient code with templates
- Explore the containers that C++ standard offers
- Discover the new paradigms introduced with C++11, C++14, and C++17
- Get to grips with the core language features of C++
- Abstract complex problems using object-oriented programming in C++
For the optimal student experience, we recommend the following hardware configuration:
- Processor: 2.5 GHz or higher (or equivalent)
- Memory: 6 GB RAM or more
- Hard disk: 20 GB free space
Lesson 1: Getting Started
The C++ Compilation Model
Built-in Data Types
Pointers and References
Control Flow
The try-catch block
Arrays
Lesson 2: Functions
Function Declaration and Definition
Local and Global Variables
Passing Arguments and Returning
Working with const References or r-value References
Const Parameters and Default Arguments
Namespaces
Function Overloading
Lesson 3: Classes
Declaring and Defining a Class
Member Functions
Constructors and Destructors
Resource Acquisition Is Initialization
Nested Class Declarations
Copy Constructors and Assignment Operators
Operator Overloading
Introducing Functors
Lesson 4: Generic Programming and Templates
Templates
Defining Function and Class
Non-Type Template Parameters
Making Templates Easier to Use
Being Generic in Templates
Variadic Templates
Writing Easy-to-Read
Lesson 5: Standard Library Containers and Algorithms
Sequence
Associative Containers
Unordered Containers
Container
Unconventional
std::optional
std::variant
Iterators
Algorithms Provided by the C++ Standard Template Library
Lesson 6: Object-Oriented Programming
Inheritance
Polymorphism
Virtual Methods
Interfaces in C++
Dynamic Memory
Safe and Easy Dynamic Memory