Skip to content

CoffeeBeforeArch/cpp_from_scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 

Repository files navigation

C++ From Scratch

"C++ From Scratch" is an introductory course on programming with C++. It covers the essential parts of C++ without becomming an exhaustive references on every operator, algorithm, and data structure available in C++ and through the standard library.

Audience

This course is suitable for both self-motivated new programmers, and experienced programmers that want to learn about modern C++.

The course should provide new programmers with an entry-point to C++, and give this a guide of where to learn about the different parts of the language in a logical order.

The course should provide experienced programmers with a clear and concise overview of the language, with pointers to the reference material where they can learn more about the topics they are interested in.

Contents

Introduction

  1. Introduction and The Main Function
  2. Printing
  3. Variables
  4. Conditional Statements

Containers and Loops

  1. std::array
  2. For Loops
  3. While Loops

Functions

  1. Functions
  2. Function Overloading
  3. Function Templates
  4. Template Specialization

Iterators and Algorithms

  1. Iterators
  2. std::sort

Memory

  1. std::vector
  2. References
  3. Pass by Reference
  4. Pointers
  5. Dynamic Allocation
  6. std::unique_ptr
  7. std::shared_ptr
  8. std::span

Objects

  1. Structs
  2. Classes
  3. Constructors
  4. Destructors
  5. Copy Constructors
  6. Operator Overloading
  7. std::move
  8. Move Constructors
  9. push_back vs. emplace_back
  10. Inheritance
  11. Polymorphism
  12. Virtual Functions
  13. Abstract Classes
  14. Class Templates
  15. Default Comparisons
  16. Virtual Inheritance
  17. Function Objects
  18. Lambdas

Parallel Programming

  1. Parallel STL Algorithms
  2. Threads (std::thread/std::jthread)
  3. std::mutex
  4. std::atomic

Special Topics

  1. Namespaces
  2. Pseudo-Random Numbers
  3. File I/O
  4. Constexpr
  5. Concepts

About

Examples from the "C++ From Scratch" Series

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages