• Stars
    star
    320
  • Rank 131,126 (Top 3 %)
  • Language
    C++
  • License
    MIT License
  • Created almost 10 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A curated list of Modern C++ articles, examples, tutorials, frameworks, libraries, and shiny things.

Modern C++

A curated list of Modern C++ articles, examples, tutorials, frameworks, libraries, and shiny things.

Notice

2017/03/01 - I'll add examples for C++17 features.

Articles

English โ†’ Korean

The Four Polymorphisms in C++

Examples

Classes

polymorphism.cpp -

Declaration

scoped_enum.cpp -

Exceptions

stack_unwinding1.cpp -

stack_unwinding2.cpp -

try_catch_throw1.cpp -

try_catch_throw2.cpp -

Expressions

operator_overloading.cpp -

Keywords

alignas.cpp -

const_cast.cpp -

default.cpp -

delete.cpp -

dynamic_cast.cpp -

nullptr.cpp -

reinterpret_cast.cpp -

static_cast.cpp -

typeid.cpp -

Libraries

Thread support

async.cpp -

future.cpp -

promise.cpp -

Miscellaneous

RAII-rule_of_five.cpp -

RAII-rule_of_zero.cpp -

Templates

class_template.cpp -

function_template.cpp -

Tutorials

C++ Programming Basic Course Slides (presented by Korean)

1st Study: From C to C++ (1/4)

  • printf, scanf โ†’ cin, cout
  • bool type
  • auto keyword

2nd Study: From C to C++ (2/4)

  • Range-based for
  • malloc, free โ†’ new, delete
  • NULL โ†’ nullptr
  • static_cast

3rd Study: From C to C++ (3/4)

  • Scoped enum
  • Binary literal, separator
  • std::string

4th Study: From C to C++ (4/4)

  • Reference
  • Function overloading
  • Namespace

5th Study: Object-Oriented Programming (1/8)

  • Class and object
  • Access modifier: public, protected, private
  • Information hiding, Encapsulation

6th Study: Object-Oriented Programming (2/8)

  • Constructor
  • Destructor
  • this pointer

7th Study: Object-Oriented Programming (3/8)

  • Copy constructor
  • Copy assignment operator
  • Shallow copy / deep copy
  • Rule of zero / rule of three

8th Study: Object-Oriented Programming (4/8)

  • Member variable
    • static
    • const
    • reference
    • const reference
  • Member function
    • static
    • const
    • default parameter

9th Study: Object-Oriented Programming (5/8)

  • Inheritance
  • Method overriding
  • Something about superclasses
  • Up / down casting

10th Study: Object-Oriented Programming (6/8)

  • Polymorphism
  • Pure virtual method

11th Study: Object-Oriented Programming (7/8)

  • Operator Overloading

12th Study: Object-Oriented Programming (8/8)

  • Multiple inheritance
  • vtable (virtual function table)
  • RTTI(Run-Time Type Information)

13th Study: Exception Handling

  • Exception handling in C++
  • try ~ catch ~ throw
  • Standard exception classes
  • Stack unwinding

14th Study: Generic Programming

  • Generic programming in C++
  • Function template
  • Class template

15th Study: TBA

Basic Curriculum

  1. From C To C++
  • (1st) printf, scanf -> std::cin, std::cout
  • (1st) bool type
  • (1st) auto
  • (2nd) Range-based for
  • (2nd) malloc, free -> new, delete
  • (2nd) NULL -> nullptr
  • (2nd) Casting 1: static_cast
  • (3rd) Scoped enum
  • (3rd) Binary literal, Separator
  • (3rd) std::string
  • (4th) Reference
  • (4th) Function overloading
  • (4th) Namespace
  • (TBD) decltype
  • (TBD) Casting 2: dynamic_cast, const_cast, reinterpret_cast
  • (TBD) typedef -> type alias
  • (TBD) Uniform initialization
  • (TBD) Initializer list
  • (TBD) Lambda expression
  • (TBD) Lvalue / Rvalue reference
  • (TBD) Move semantics
  • (TBD) Perfect forwarding
  • (TBD) Smart pointer: unique_ptr, shared_ptr, weak_ptr
  1. OOP: Object-Oriented Programming
  • (5th) Class and Object
  • (5th) Access modifier: public, protected, private
  • (5th) Information hiding, Encapsulation
  • (6th) Constructor
  • (6th) Destructor
  • (6th) this pointer
  • (7th) Copy constructor
  • (7th) Copy assignment operator
  • (7th) Shallow copy, Deep copy
  • (7th) Rule of zero, Rule of three
  • (8th) Member variable: static / const / reference / const reference
  • (8th) Method: static / const / method overloading / default parameter / inline
  • (9th) Inheritance
  • (9th) Method Overriding
  • (9th) Something about superclasses
  • (9th) Up / Down casting
  • (10th) Polymorphism
  • (10th) Pure virtual method
  • (11th) Operator overloading
  • (12th) Multiple inheritance
  • (12th) vtable, RTTI
  • (TBD) Special functions 3: Move constructor, Move assignment operator
  • (TBD) Special functions 4: std::initializer_list constructor, Inheriting constructor
  • (TBD) Rule of five
  • (TBD) =default, =delete
  • (TBD) explicit keyword
  • (TBD) friend keyword
  • (TBD) mutable
  • (TBD) overriding keyword
  • (TBD) final keyword
  • (TBD) PIMPL
  1. Exception Handling
  • (13th) Exception handling in C++
  • (13th) try ~ catch ~ throw / throw list (noexcept)
  • (13th) Standard exception classes
  • (13th) Stack unwinding
  • (TBD) Nested exception
  • (TBD) Function-try-block
  1. Generic Programming: Template
  • (14th) Generic programming in C++
  • (14th) Function template
  • (14th) Class template
  • (TBD) Template specialization
  • (TBD) Partial specialization
  • (TBD) Template inheritance vs template specialization
  • (TBD) Template aliases
  • (TBD) decltype + auto
  • (TBD) Function template
  • (TBD) Template recursion
  • (TBD) Variadic template
  • (TBD) Variable template
  • (TBD) Type inference
  • (TBD) SFINAE
  • (TBD) Template metaprogramming
  • (TBD) Type traits
  • (TBD) constexpr
  1. Concurrency: Multithreading Programming
  • (TBD) Race condition, Deadlock
  • (TBD) Atomic task
  • (TBD) thread
  • (TBD) mutex, lock, call_once
  • (TBD) condition_variable
  • (TBD) async
  • (TBD) future, promise
  • (TBD) Thread pool
  1. STL: Standard Library
  • (TBD) vector, deque, list, array
  • (TBD) queue, priority_queue, stack
  • (TBD) pair, tuple, map, multimap, set, multiset
  • (TBD) algorithm
  • (TBD) function
  • (TBD) forward_list
  • (TBD) unordered_map, unordered_multimap, unordered_set, unordered_multiset
  • (TBD) bitset
  • (TBD) ratio
  • (TBD) chrono
  • (TBD) random
  • (TBD) regular expression

More Repositories

1

game-developer-roadmap

Roadmap to becoming a game developer in 2022
Rust
4,644
star
2

awesome-cafe

โ˜• ๋ชจ๊ฐ์ฝ”ํ•˜๊ธฐ ์ข‹์€ ๊ตญ๋‚ด ์นดํŽ˜ ๋ฆฌ์ŠคํŠธ
1,187
star
3

RosettaStone

Hearthstone simulator using C++ with some reinforcement learning
C++
648
star
4

2023-MatKor-Rust-Interpreter

2023๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต MatKor ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋งŒ๋“ค๊ธฐ
Rust
344
star
5

rl-paper-study

Reinforcement Learning paper review study
202
star
6

2022-Korea-Rust-Backend

2022๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต Google Developer Student Clubs ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + Backend ๊ฐœ๋ฐœ
Rust
153
star
7

2022-Make-Interpreter-Rust

2022๋…„ ์˜จ๋ผ์ธ ์Šคํ„ฐ๋”” - Rust๋กœ ๋งŒ๋“œ๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ
Rust
138
star
8

baba-is-auto

Baba Is You simulator using C++ with some reinforcement learning
Python
135
star
9

Cubby-v1

Voxel-based game client (based on AlwayGeeky's Vox)
C++
110
star
10

modern-cpp-next

Modern C++ Next: Comprehensive Guide for C++20
Shell
107
star
11

2023-UNIST-Rust-Minecraft

2023๋…„ UNIST HeXA ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ๋งˆ์ธํฌ๋ž˜ํ”„ํŠธ ๋งŒ๋“ค๊ธฐ
Rust
95
star
12

CubbyFlow-v1

Voxel-based fluid simulation engine for computer games
C++
88
star
13

cpp-developer-roadmap

Roadmap to becoming a C++ developer in 2020
76
star
14

CubbyCalc

Simple Console Calculator using C++
C++
69
star
15

2021-KAIST-Include-AlphaGoZero

2021๋…„ KAIST ๋™์•„๋ฆฌ Include ์Šคํ„ฐ๋”” - AlphaGo์™€ AlphaGo Zero๋ฅผ ํ™œ์šฉํ•œ ์ธ๊ณต์ง€๋Šฅ ๋ฐ”๋‘‘
Python
66
star
16

awesome-restaurant

๐Ÿด ๊ตญ๋‚ด ๋ ˆ์Šคํ† ๋ž‘ ๋ง›์ง‘ ๋ฆฌ์ŠคํŠธ
63
star
17

BOJ

About Baekjoon Online Judge problem solving by Rust
Rust
59
star
18

2022-INFCON-Rust-CrossPlatform

INFCON 2022 - Rust ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
Rust
56
star
19

Runeterra

Legends of Runeterra simulator using C++ with some reinforcement learning
C++
48
star
20

CubbyTower

Simple tower defense game using C++ with Entity Component System (ECS)
C++
47
star
21

2022-CppKorea-DataStructure

2022๋…„ C++ Korea ์—ฌ๋ฆ„ ์Šคํ„ฐ๋”” - C++ ์ž๋ฃŒ๊ตฌ์กฐ
C++
47
star
22

2019-OSS-Summer-RLBasic

2019๋…„ OSS ๊ฐœ๋ฐœ์ž ํฌ๋Ÿผ ์—ฌ๋ฆ„ ์บ ํ”„ - ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ์ดˆ ๊ด€๋ จ ์˜ˆ์ œ ์ฝ”๋“œ
Python
45
star
23

2024-Hyundai-NGV-Rust

2024 Softeer Tech Meetup - Rust๋Š” ์™œ ์ฃผ๋ชฉ ๋ฐ›๊ณ  ์žˆ๋Š”๊ฐ€ + Rust ์ฃผ์š” ๊ธฐ๋Šฅ ์†Œ๊ฐœ
Rust
41
star
24

2024-HSPACE-Rust-LinuxKernel

2024๋…„ HSPACE ํŠน๊ฐ• - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
Rust
40
star
25

SnowSimulation

Snow simulation based on Disney's "The material point method for Snow Simulation" paper using Qt and CUDA
C++
39
star
26

2024-Konkuk-Rust-Roguelike

2024๋…„ ๊ฑด๊ตญ๋Œ€ํ•™๊ต Google Developer Student Clubs + EDGE ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ๋กœ๊ทธ๋ผ์ดํฌ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ
Rust
39
star
27

2024-SNU-Rust-Application

2024๋…„ ์„œ์šธ๋Œ€ํ•™๊ต SCSC + WaffleStudio ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ํฌ๋กœ์Šคํ”Œ๋žซํผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
Rust
38
star
28

PolyMapGenerator

Polygonal map generator for games. Generates island maps with a focus on mountains, rivers, coastlines.
C++
37
star
29

DirectX

Visual Studio 2015 version of Frank D. Luna's book "Introduction to 3D Game Programming using DirectX 11"
C++
35
star
30

2024-DEVCON-Rust-Safety

DEVCON 2024 - Rust๋Š” ์–ด๋–ป๊ฒŒ ์•ˆ์ „ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ด๋ค„๋‚ด๋Š”๊ฐ€ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
Rust
34
star
31

2022-Make-Compiler-Rust

2022๋…„ ์˜จ๋ผ์ธ ์Šคํ„ฐ๋”” - Rust๋กœ ๋งŒ๋“œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ
33
star
32

rust-oss-template

Rust Open Source Software Template
Rust
33
star
33

2023-SNU-Rust-CrossPlatform

2023๋…„ ์„œ์šธ๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€ ํŠน๊ฐ• - Rust ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
Rust
32
star
34

SimpleRPG-Text

Text-based Simple RPG using C++
C++
32
star
35

PokeMaster

Pokรฉmon battle simulator using Rust with some reinforcement learning
Rust
31
star
36

OpenGLTutorial

OpenGL Study with Examples and Homeworks
C
31
star
37

CubbyDNN

Deep learning framework using C++17 in a single header file
C++
30
star
38

2021-HYU-HAI-RLBootCamp

2021๋…„ ํ•œ์–‘๋Œ€ํ•™๊ต ๋™์•„๋ฆฌ HAI ์Šคํ„ฐ๋”” - ๊ฐ•ํ™”ํ•™์Šต ๋ถ€ํŠธ ์บ ํ”„
Python
30
star
39

PBRStudy

Physically Based Rendering, 2nd Edition Study
29
star
40

polarlight

A Machine Learning Framework for High Performance written in Rust
Rust
28
star
41

ProceduralContentGeneration

Sample code repository for 'Procedural Content Generation for C++ Game Development'
C++
27
star
42

RTRStudy

Real-time rendering, 4th edition study
27
star
43

GPU-Pathtracer

GPU Pathtracer from scratch using C++ and CUDA
26
star
44

RosettaStone-GUI

GUI program of RosettaStone
C++
24
star
45

ProgrammingPractice

Programming Practice Examples
C++
24
star
46

CGStudy

Computer Graphics study from scratch to Neural Rendering
23
star
47

utilForever

My Github Profile
23
star
48

2021-CoMu-ECS-Development

๊ฒŒ์ž„์ด๋ž‘ ๋ฌด๊ด€ํ•ฉ๋‹ˆ๋‹ค๋งŒ ๋ฐ‹์—… - ECS ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
C++
23
star
49

CubbyCity

Analyze the causes of urban engineering problems such as gentrification
C++
23
star
50

rust-wasm-ts-template

A template of Rust + WebAssembly with TypeScript (๐Ÿฆ€ + ๐Ÿ•ธ๏ธ = ๐Ÿ’–)
JavaScript
23
star
51

2023-MatKor-Rust-Compiler

2023๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต MatKor ์Šคํ„ฐ๋”” - Rust๋กœ ์ปดํŒŒ์ผ๋Ÿฌ ๋งŒ๋“ค๊ธฐ
22
star
52

zero-to-production

The code of Zero To Production In Rust for exercise
Rust
21
star
53

2021-JBSH-Summer-RLBasic

2021๋…„ ์ „๋ถ๊ณผํ•™๊ณ ๋“ฑํ•™๊ต ์—ฌ๋ฆ„ ํŠน๊ฐ• - ๊ฐ•ํ™”ํ•™์Šต ๊ธฐ์ดˆ
Python
21
star
54

Diablopp

Modern C++ version of Diablo - magic behind the 1996 computer game
21
star
55

conquer-the-spire

Slay the Spire simulator using C++ with some reinforcement learning
CMake
21
star
56

introduction-to-rust

The book "Introduction to Rust" for beginners
21
star
57

DiscoveringTheModernCpp

<๋ชจ๋˜ C++ ์ž…๋ฌธ> ์˜ˆ์ œ ์ €์žฅ์†Œ
C++
19
star
58

2020-OSS-Winter-AlphaZero

2020๋…„ OSS ๊ฐœ๋ฐœ์ž ํฌ๋Ÿผ ๊ฒจ์šธ ์บ ํ”„ - AlphaZero ์ธ๊ณต์ง€๋Šฅ ์˜ค๋ชฉ ๊ด€๋ จ ์˜ˆ์ œ ์ฝ”๋“œ
Jupyter Notebook
19
star
59

Civilizationpp

Civilization simulator using C++ with some reinforcement learning
C++
19
star
60

onboarding-for-beginners

A step-by-step onboarding plans and related materials for beginners
18
star
61

hiking-for-developers

โ›ฐ๏ธ ๊ฐœ๋ฐœ์ž๋“ค์˜ ๊ฑด๊ฐ• ์ฆ์ง„์„ ์œ„ํ•œ ๋“ฑ์‚ฐ ๊ด€๋ จ ์ •๋ณด ๋ชจ์Œ ๐Ÿฅพ
18
star
62

2022-KW-RLEnv

2022๋…„ ๊ด‘์šด๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ์ •๋ณด๊ณตํ•™๋ถ€ ํŠน๊ฐ• - ๊ฐ•ํ™”ํ•™์Šต ํ™˜๊ฒฝ ๊ฐœ๋ฐœ
Python
18
star
63

2022-SWMaestro-Rust-Basic

2022๋…„ ์†Œํ”„ํŠธ์›จ์–ด ๋งˆ์—์ŠคํŠธ๋กœ ํŠน๊ฐ• - Rust ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ดˆ
Rust
18
star
64

2022-KW-ECS-Development

2022๋…„ ๊ด‘์šด๋Œ€ํ•™๊ต ์ปดํ“จํ„ฐ์ •๋ณด๊ณตํ•™๋ถ€ ํŠน๊ฐ• - ECS ๊ธฐ๋ฐ˜ ๊ฒŒ์ž„ ๊ฐœ๋ฐœ
C++
18
star
65

CppIdioms

A curated list of Modern C++ idioms
C++
17
star
66

rust-for-cpp

A tutorial and example of Rust for C++ programmers
17
star
67

Corailed

Unrailed! simulator using C++ with some reinforcement learning and Unrailed! AI using Python with OpenCV
Python
17
star
68

AlphaGo-tutorial

AlphaGo and AlphaGo Zero step-by-step tutorial using TensorFlow and PyTorch
16
star
69

InfinityMetro

Mini Metro simulator using C++ with some reinforcement learning
Rust
16
star
70

algorithm-rs

Common data structures and algorithms for competitive programming in Rust
Rust
16
star
71

CubbyEngine

Entity Component System (ECS) based game engine for Creative Coding using C++20/23
16
star
72

rust-wasm-game-of-life

A simple Rust and WebAssembly example implementing the Game of Life
Rust
15
star
73

minesweeper-rs

A simple minesweeper game using Rust and windows-rs
Rust
15
star
74

ray-tracing-the-rest-of-your-life-cpp

C++ implementation of Peter Shirley's "Ray Tracing: The Rest of Your Life"
C++
15
star
75

CubbyMenu

A header only Modern C++ library to easily create simple menus for programs
CMake
15
star
76

2024-MatKor-Rust-Blog

2024๋…„ ๊ณ ๋ ค๋Œ€ํ•™๊ต MatKor ์Šคํ„ฐ๋”” - Rust ๊ธฐ์ดˆ ํ”„๋กœ๊ทธ๋ž˜๋ฐ + ๋ธ”๋กœ๊ทธ ๋งŒ๋“ค๊ธฐ
Rust
15
star
77

HellSolver

Helltaker simulator using C++ with some reinforcement learning
C++
14
star
78

styler

A header only Modern C++ library for styling output text in Terminal based on rang
C++
14
star
79

CppLinq

LINQ implementation for Modern C++
C++
14
star
80

Presentations

My various presentations to conferences, user groups and so on.
13
star
81

cpp-oss-template

C++ Open Source Software Template
CMake
13
star
82

CubbyEnums

A special way to convert string<->enum in C++ using X Macro technique and template specialization
C++
13
star
83

marvel-snap

Marvel Snap simulator using Rust with some reinforcement learning
Rust
13
star
84

phys

2D/3D physics engine for games written in Rust
Rust
13
star
85

problem-solving-roadmap

Roadmap to solving a problem using data structures/algorithms in 2022
12
star
86

recommend-books

My recommended computer programming book list
12
star
87

YahtzeeMaster

Yahtzee simulator using C++ with some reinforcement learning
C++
12
star
88

minecraft-rs

A reimplementation of Minecraft written in Rust
Rust
12
star
89

ml-developer-roadmap

Roadmap to becoming a ML/DL/RL developer in 2020
12
star
90

2021-AIFrenz-RLEnv

AIํ”„๋ Œ์ฆˆ ์ œ72ํšŒ ์„ธ๋ฏธ๋‚˜ - ๊ฐ•ํ™”ํ•™์Šต ํ™˜๊ฒฝ ๊ฐœ๋ฐœ ๋ฐœํ‘œ ์ž๋ฃŒ ๋ฐ ์˜ˆ์ œ ์ฝ”๋“œ
Python
12
star
91

ray-tracing-in-one-weekend-cpp

C++ implementation of Peter Shirley's "Ray Tracing in One Weekend"
C++
12
star
92

CubbyRocket

A simple rocket simulation engine from water rocket to satellite
CMake
12
star
93

Shop

C++ Practice Example by making Shop in Game stage by stage
C++
12
star
94

AlphaTFT

Teamfight Tactics simulator using C++ with some reinforcement learning
CMake
12
star
95

nerf-rs

Rust implementation of NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis and its extension to follow-up research projects
Rust
11
star
96

Starlight

A Programming Language for Games: performance, data-oriented, and so on.
11
star
97

battlegrounds-rs

Hearthstone:Battlegrounds simulator using Rust with some reinforcement learning
Rust
10
star
98

Dolphin

Dolphin Engine โ€“ Multi-platform 2D and 3D game engine
10
star
99

game-developer-interview-question

A list of helpful game developer related questions you can use to interview potential candidates.
10
star
100

owning-ref-rs

A library for creating references that carry their owner with them
Rust
10
star