advanced_cpp

This repository is designed and developed, to help the beginner to get a thourough understanding of the C++ programming language, and include the topics from Basic of C++ to the advanced/Modern C++ concepts.

Content

Basics of compilation

Cin, Cout, getline, stringstream, namespace, macros, inclusion brackets

Arithmetic, assignment, relational, logical operators

control loops

Pointers

Functions

this pointer

Arrays

Classes

Overloading

templates- generic programming

Inheritance and Multiple inheritances, access modofiers

Polymorphism

Pointers to the class and statically bound classes

Virtual functions: Make them bound dynamically during the execution

Vectors- assign, push_back, insert, emplace, clear, erase, pop_back

iterators - to move through the vectors, start with the begin and end with the end, and can access vector elements using the dereferncing

Static variables: shared variable between the multiple instances of the same class, use the keyword static, saves the space but slow execution

friend methods: which can have access to the private and protected members of the base class

global variables

testing the code with the help of gtest

strings-input and output

optimization: use the execution command g++ std=c++11 -03 main.cpp to speed up the execution

Design>>implement>>test>>optimize

optimize:

c++ code algorithms compiler- -03 flag hardware> small angle approximations