Skip to content

BenjaminYde/CPlusPlus-Guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to the C++ Guide 📚

This repository is a C++ guide designed which is designed to be easily opened using VS Code or Github. It contains extensive documentation, code examples, and best practices to help you become a proficient C++ programmer. The guide intends to be to the point so you can continue what really matters, programming.

Execute Code Examples 🚀

Explore the examples directory for interactive C++ code examples, easily executable inside a Docker DevContainer within Visual Studio Code. This setup ensures a consistent and streamlined coding environment, ideal for learning and experimentation.

Guide Index 🗂️

The following index contains categories with topics that are ready for visibility or completed.
There is more content incoming so the categories will not be visible here until it is completed.
Want to see what topics are in todo? See the index per category.

CMake & Tooling

Containers

Strings

Functions

Object Oriented Programming (OOP)

Memory Management

Concurreny

Typing

Design Patterns & Idioms

Todo

  • Design patterns
  • Templates
  • Error handling

References 📍

General

  • CPP Reference
    • This is more of a reference but contains examples and explanations that can serve as a learning resource.
    • Link here
  • Online C++ Compiler
  • C++ Core Guidelines
  • Google C++ Style Guide

Tutorials

  • LearnCpp
    • Devoted to teaching you how to program in C++. Whether you’ve had any prior programming experience or not, the tutorials on this site will walk you through all the steps to write, compile, and debug your C++ programs, all with plenty of examples.
    • Link here
  • GeeksforGeeks
    • Link here
    • Offers a variety of tutorials and exercises ranging from basic to advanced topics. TutorialsPoint: C++ Tutorial

Books

  • Software Architecture with C++, (Paid)
    • Design modern systems using effective architecture concepts, design patterns, and techniques with C++20
    • By Adrian Ostrowski & Piotr Gaczkowski, April 2021, 540 pages
    • Link here.
  • Professional C++, (Paid)
    • Professional C++, 5th Edition raises the bar for advanced programming manuals. Complete with a comprehensive overview of the new capabilities of C++20, each feature of the newly updated programming language is explained in detail and with examples.
    • By Marc Gregoire, Februari 2021, 1312 pages
    • Link here.
  • Modern CMake for C++ (2nd edition), (Paid)
    • Write comprehensive, professional-standard CMake projects and ensure the quality and simplicity of your solutions
    • By Rafal Świdziński, May 2024, 502 pages
    • Link here.
  • CMake Best Practices (2nd edition), (Paid)
    • Write comprehensive, professional-standard CMake projects and ensure the quality and simplicity of your solutions
    • By Dominik Berner & Mustafa Kemal Gilor, Aug 2024, 502 pages
    • Link here.
  • Advanced C and C++ Compiling (Paid)
    • Learning how to write C/C++ code is only the first step. To be a serious programmer, you need to understand the structure and purpose of the binary files produced by the compiler: object files, static libraries, shared libraries, and, of course, executables.
    • Link here
  • Learning C++ (Free)
    • Free unaffiliated eBook created from Stack Overflow contributors.
    • Link here
  • More C++ Idioms (Free)
  • C++ Programming: Code patterns design (Free)
    • Software design patterns are abstractions that help structure system designs.
    • Link here.
  • C++ Notes for Professionals book (Free)

Interviews

  • C++ Interview Questions and Answers (geeksforgeeks.org)