Feedback
Welcome!
How to Use the Course
What is Programming?
Our Environment
Setting up a Development Environment
Console Applications
Understanding Our Program
Comments
#include <iostream>
int main()
std::cout
Escape Sequences
Basic Math
The Power of Search Engines (& Square Rooting)
What is a Variable?
Declaring and Defining Variables
Numeral Data Types
Getting User Input
Casting Data Types
Casting to avoid type interference
Variable Operators and Expressions
Assignment Operators
Upgrading our Calculator
Bool - The Logical Datatype
If statements
Multiple Conditions
Boolean cast and the ! operator
else statements
else if statements
Scopes
Ternary Operator
Switch Statements
while loops
Infinity loops
Variables in Loops
do while loops
for loops
Iteration Tricks & the modulus operator
Break and Continue
Nested Loops
Calculator Upgrade
Functions
Return Values
Parameters
Function Declarations
Recursive Calling
Function overloading
Default parameter values
The Entry Point
Arrays declaration
Array Indexing
Arrays in loops
Sizeof
Multidimensional Arrays
Arrays technical implementation
Arrays as Parameters
Dynamic Arrays
std::vector
std::vector - push and pop
std::vector::insert
std::vector::erase
Iteration loops
std::deque
Strings
chars and std::string
std::string as a variable
std::string as a Dynamic Array
Characters & ASCII
std::string member functions - gets
std::string member functions - sets
Null-terminated Strings
Best Practices
Self Documenting Code
Functions Rules
Commenting
Namespaces
The const Keyword
Enums
Enum Types & Access
Datatype modifier
Static variables
Template Functions
Custom Data Structures
Member Functions
Constructors
Constructors - Member Initalizer lists
Operator Overloading
OOP vs Procedural Programming
Data Encapsulation
Public Interface
Classes
Templates
Const Member Functions
Static Members
Nested Types
Single Responsibility Design
Memory Addresses
Pointers
LValues and RValues
Local Allocation
Segmentation Faults
New & Delete
Pointers/Memory in Classes
Const pointers
Technicalities of variables
Inheritance
Access Levels & protected
Method Overriding
Base class pointers
Virtual Functions
Abstract Classes
Inheritance Access
Multiple Inheritance
Inheritance Design
Friend Functions
Friend Classes
File IO
Writing Files
Reading Files
Getline
Internal position marker & get
Moving the position marker
std::filesystem
Output modes
Seperating Code Files
Header & Source Files
Preprocessing Directives
Preprocessor Operators
Defined Checks
Include Guards
Macros
Macro Use & Tricks
Errors and Warnings
Debugging Basics
Getting information
The debugger
Breakpoints
Common Issues
Memmory Errors
To Infinity and Beyond
Other Program Types
Environments and Frameworks
External Libraries
APIs
Library & API Tips
Other Programming Languages
Learning Languages Fast
Language Differences
Where to Improve Further