GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - cybersecurity-dev/awesome-cpp-programming-resources: Awesome C++ Programming Resources

BranchesTags
Open more actions menu

Latest commit

 

History

34 Commits
34 Commits

Folders and files

NameName
Last commit message
Last commit date
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 

Repository files navigation

Awesome C++ Programming Resources Awesome

C++11 | C++14 | C++17 | C++20 | C++23 | C++26

YouTube Reddit

GitHub   YouTube   My Awesome Lists

flowchart TD

A[C++ Libraries]

A --> B[Standard Library]
A --> C[Boost]
A --> D[Qt]
A --> E[Poco]
A --> F[OpenCV]
A --> G[gRPC]
A --> H[TensorFlow]

B --> B1[STL]
B --> B2[Threads]
B --> B3[Filesystem]

C --> C1[Smart Utilities]
C --> C2[Networking]

D --> D1[GUI]
D --> D2[Desktop Apps]

F --> F1[Computer Vision]

H --> H1[Machine Learning]
Loading

📖 Contents

  • Standarts
  • Books
  • Blog
  • Videos
  • Specific Topics
    • Value Categories
    • Security
    • Memory
    • Software Optimization
    • Concurrency & Parallelism & Multithreading
    • Template Metaprogramming
    • What is new in C++20/C++23/C++26
  • Reference
  • C++ Hall Of Fame
  • My Other Awesome Lists
  • Contributing
  • Contributors

Standarts

mindmap
  root((C++ Standards))

    C++98
      Classes
      STL
      Templates
      Exceptions
      RTTI

    C++03
      Bug Fixes
      Library Improvements

    C++11
      auto
      nullptr
      Lambda
      Move Semantics
      Smart Pointers
      Variadic Templates
      Range For
      enum class
      constexpr
      thread
      mutex

    C++14
      Generic Lambda
      make_unique
      Improved constexpr
      Variable Templates
      Binary Literals

    C++17
      Structured Bindings
      if constexpr
      inline variables
      string_view
      optional
      variant
      any
      filesystem
      Parallel STL

    C++20
      Concepts
      Ranges
      Coroutines
      Modules
      Span
      consteval
      constinit
      Three-way Comparison
      jthread

    C++23
      expected
      mdspan
      print
      stacktrace
      ranges enhancements
      multidimensional views
      move_only_function
Loading
  • C++11 reference
  • C++14 reference
  • C++17 reference
  • C++20 reference
  • C++23 reference
  • C++26 reference

Books

  • C++ Primer
  • Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
  • Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  • C++ Crash Course: A Fast-Paced Introduction
  • Tour of C++, A (C++ In-Depth Series)
  • C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ In-Depth)
  • C++ Templates: The Complete Guide

Blog

  • LearnCpp.com


Videos

  • CppCon 2018: Kate Gregory "Simplicity: Not Just For Beginners"


Specific Topics


Value Categories

Videos

  • Back to Basics: Understanding Value Categories - Ben Saks - CppCon 2019
  • Understanding C++ Value Categories: lvalue, rvalue, xvalue, std::move, std::forward & Best Practices
  • Modern C++ (move semantics, perfect forwarding)
  • Move Semantics Explained - Learn Modern C++

Security

Videos

  • Secure Coding Best Practices: Your First Line Is The Last Line Of Defense (1 of 2)
  • Secure Coding Best Practices: Your First Line Is The Last Line Of Defense (2 of 2)

Memory

Videos

  • C++ Memory Model: from C++11 to C++23 by Alex Dathskovsky
  • C++ Memory Management • an Interview with Patrice Roy
  • C++ Memory Management by Patrice Roy & Kevin Carpenter

Software Optimization

Videos

  • Andrei Alexandrescu explores methods for optimizing system-level code by moving beyond standard compiler features.

Strings

Videos

  • How to Use string_view in C++ - Basics, Benefits, and Best Practices - Jasmine Lopez & Prithvi Okade

Concurrency & Parallelism & Multithreading

Concurrency is about dealing with multiple tasks at once. ❌ No, Needs multiple cores.

Parallelism is about doing multiple tasks at the exact same time. ✅ Yes, Needs multiple cores.

Multithreading is a technique that allows a program to have multiple threads of execution. ❌/✅ Depends, Needs multiple cores.

Videos

  • The Cost of Concurrency Coordination by Jon Gjengset
  • Choose the Right C++ Parallelism Tool | Low-Level vs Async vs Coroutines vs Data Parallel by Eran Gilad
  • C++20’s Coroutines for Beginners by Andreas Fertig

Template Metaprogramming

Metaprogramming writing programs that create, inspect, or modify other programs or themselves.

Template metaprogramming is a form of compile‑time metaprogramming in C++ where you use templates to perform computations, make decisions, and generate code during compilation, not at runtime.

Videos

  • Back to Basics: Templates (part 1 of 2) by Andreas Fertig
  • Back to Basics: Templates (part 2 of 2) by Andreas Fertig
  • C++ Variadic Templates and Parameter Packs by Vladimir Vishnevski

What is new in C++20 / C++23 / C++26

flowchart TD

A[C++98 Foundations]

A --> B[C++11]

B --> B1[auto]
B --> B2[Lambda]
B --> B3[Move Semantics]
B --> B4[Smart Pointers]
B --> B5[Concurrency]

B3 --> C[C++14]

C --> C1[Generic Lambda]
C --> C2[Enhanced constexpr]

C --> D[C++17]

D --> D1[optional]
D --> D2[variant]
D --> D3[any]
D --> D4[string_view]
D --> D5[filesystem]
D --> D6[Structured Bindings]

D --> E[C++20]

E --> E1[Concepts]
E --> E2[Ranges]
E --> E3[Coroutines]
E --> E4[Modules]
E --> E5[Spaceship Operator]

E --> F[C++23]

F --> F1[expected]
F --> F2[mdspan]
F --> F3[print]
F --> F4[stacktrace]

style A fill:#34495e,color:#fff
style B fill:#3498db,color:#fff
style C fill:#2980b9,color:#fff
style D fill:#2ecc71,color:#fff
style E fill:#f39c12,color:#fff
style F fill:#e74c3c,color:#fff
Loading

C++20 YouTube

Videos
  • C++20: An (Almost) Complete Overview by Marc Gregoire

C++23 YouTube

Videos
  • C++23 - What's In It For You? by Marc Gregoire

C++26 YouTube

Videos
  • C++26 - What's In It For You? by Marc Gregoire
  • Three Cool Things in C++26: Safety, Reflection & std::execution by Herb Sutter
  • The Joy of C++26 Contracts - Myths, Misconceptions & Defensive Programming by Herb Sutter


Exercises

  • C++ Quiz

Tools

  • cppinsights - C++ Insights shows how compilers see your code.

Reference

C++ Hall Of Fame

  • Andrei Alexandrescu
  • Bjarne Stroustrup
  • Herb Sutter
  • Scott Meyers

My Other Awesome Lists

You can access the my other awesome lists here

Contributing

Contributions of any kind welcome, just follow the guidelines!

Contributors

Thanks goes to these contributors!

License

CC0

🔼 Back to top

About

Awesome C++ Programming Resources

Topics

awesomeawesome-listawesome-listscpp-programmingcpp-programming-languagecpp-programming-resources

Resources

Readme
CC0-1.0 license
Activity

Stars

1 star

Watchers

0 watching

Forks

0 forks
Report repository

Contributors

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.