TOPICS and LINKS to the video tutorials on my youtube channel. Code for each topic can be found in the github repository.
- Main Function
#include iostream using namespace std; int main {} cout<<endl; return 0;#1 - Variables & Data Types
int float double bool char string#2 - How to check Variable Types #3
- Implicit Type Conversions #4
- Multiple Variables Declaration in single line #5
- Math/Arithmetic Operations
+ - * / %#6 - Type Casting/Explicit Type Conversions #7
- Increment and Decrement
++ --#8
- If/Else Logic Operators
if else if, and &&, or ||, not !#9 - If/Else Comparison Operators
if else if, < <= > >= == !=#10 - Ternary Operators
(X) ? A : B#11 - Getting user Input
cin>> getline()#12 - Practice Problems #13
- Arrays
int arr[5] = {5, 10, 15, 20, 25}#14 - Strings & Cstrings
"ABC" {'a', 'b', 'c'}#15 - Vectors & Dynamic Arrays
vector<int> v = {1, 2, 3}#16 - Why does index start at 0? #16.5
- For Loops
for (int i = 0; i < 5; i++ ){ ... }#17 - For Each Loops/Ranged Based For Loops
for (int x : arr) {...}#18 - While Loops
while (true) {...}#19 - Do While Loops
do {...} while (true)#20 - Break & Continue
break; continue;#21 - Switch Case Statements
switch(a) { case 1: ... }#22 - Rock Paper Scissors ✊✋✌️ #23
- Multidimensional/2D Arrays
int mat[2][2] = {{1, 0}, {0, 1}}#24 - Tic Tac Toe ⭕✖️⭕ #25
- Pointers
int* ptr = &address#26 - Const Pointers/Pointers to Const
int* const ptr, const int* ptr#27 - References
int& ref = object#28 - Null Pointers
nullptr#29 - Array Pointers
int* ptr = {1, 2, 3}#30 - Dynamic Memory Allocation
new delete#31 - Dynamically Allocated Arrays
int* arr = new int[10]#32 - Dynamic Arrays vs Dynamically Allocated Arrays #32.5
- Pointer to Pointers
int** ptrB = &ptrA#33
- Functions #34
- Function Pass by Value, Reference, Const Reference #35
- Function Overloading/Polymorphic Functions #36
- When to use Const Reference? #36.5
- Generics and Templates
template <typename T>#37 - Practice Problems Functions #38
- Recursion #39
- Recursion with Vectors #40
- Global and Local Variable Scope #41
- How does recursion work? #41.5
- Enumerations
enum#42 - Exceptions and Error Handling
try throw catch#43
- Iterators
v.begin() v.end()#44 - Set
Set<int> s = {1, 2, 3}#45 - Useful Math Functions
min, max, abs, floor, ceil, round pow, sqrt#46 - Pair
Pair<char, int> p = {'A', 1}#47 - Typedef
typedef Type T#48 - Map
Map<char, int> m = {{'A':1}, {'B':2}, {'C':3}}#49 - Tuple
Tuple<char, char, int> t = {'A', 'B', '1'}#50 - Useful String Functions
tolower, toupper, islower, isupper, isalpha, isalnum, isdigit, isspace#51 - Useful Vector Functions
sort, is_sorted, reverse, replace, fill, max_element, min_element, find, count, shuffle#52
- Datetime #53
- File IO (.txt files)
fstream#54 - Practice Problems File IO (.txt files)
fstream#55 - String Stream
sstream#56 - File IO (.csv files)
fstream#57 - Practice Problems File IO (.csv files)
fstream#58
- TBD