elyosemite / Atmosphere

This repository is for ensuring the knowledge relating to C++ programming language be consolidate in my mind forever.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The Atmosphere is C++ Learning Project

Welcome to the C++ Learning Project! This project is designed to help you learn C++ programming language features from C++11 to C++23.

Overview

This project includes examples and exercises for C++ programming language features, including but not limited to:

  • C++11: lambda expressions, range-based for loops, smart pointers, move semantics, thread support.
  • C++14: binary literals, generic lambdas, return type deduction for functions.
  • C++17: structured bindings, if-with-initializer, constexpr if, fold expressions, inline variables.
  • C++20: concepts, ranges, coroutines, spaceship operator, designated initializers.
  • C++23: designated initializers for aggregates, range-based for loops with index, constexpr std::vector, lambdas in unevaluated contexts.
  • OOP concepts: classes, inheritance, polymorphism, encapsulation, constructors and destructors, virtual functions.
  • Functional Programming concepts: functions as first-class objects, lambda expressions, immutability, pure functions, higher-order functions, currying.

Getting Started

  1. Clone or download the project to your local machine.
  2. Open the project using a C++ IDE, such as Visual Studio, Eclipse, or Code::Blocks.
  3. Explore the code in the src folder, which contains examples and exercises for different C++ language features.
  4. Compile and run the code to see the output and learn from the examples.

Contributing

Contributions to this project are welcome! If you find a bug, have a suggestion for an improvement, or would like to add an example or exercise for a specific C++ language feature, please submit a pull request.

Resources

Here are some resources that you may find helpful when learning C++:

License

This project is licensed under the MIT License. See the LICENSE file for more information.

About

This repository is for ensuring the knowledge relating to C++ programming language be consolidate in my mind forever.


Languages

Language:C++ 99.3%Language:C 0.5%Language:Makefile 0.1%