• Stars
    star
    21,589
  • Rank 1,127 (Top 0.03 %)
  • Language
    C++
  • License
    MIT License
  • Created over 8 years ago
  • Updated over 1 year ago

Reviews

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

Repository Details

📚 Modern C++ Tutorial: C++11/14/17/20 On the Fly | https://changkun.de/modern-cpp/

logo

Modern C++ Tutorial: C++11/14/17/20 On the Fly

Purpose

The book claims to be "On the Fly". Its intent is to provide a comprehensive introduction to the relevant features regarding modern C++ (before 2020s). Readers can choose interesting content according to the following table of content to learn and quickly familiarize the new features you would like to learn. Readers should be aware that not all of these features are required. Instead, it should be learned when you really need it.

At the same time, instead of coding-only, the book introduces the historical background of its technical requirements (as simple as possible), which provides great help in understanding why these features came out.

In addition, the author would like to encourage readers to use modern C++ directly in their new projects and migrate their old projects to modern C++ gradually after reading the book.

Targets

  • This book assumes that readers are already familiar with traditional C++ (i.e. C++98 or earlier), or at least that they do not have any difficulty in reading traditional C++ code. In other words, those who have long experience in traditional C++ and people who desire to quickly understand the features of modern C++ in a short period of time are well suited to read the book.

  • This book introduces, to a certain extent, the dark magic of modern C++. However, these magic tricks are very limited, they are not suitable for readers who want to learn advanced C++. The purpose of this book is offering a quick start for modern C++. Of course, advanced readers can also use this book to review and examine themselves on modern C++.

Start

You can choose from the following reading methods:

Code

Each chapter of this book contains a lot of code. If you encounter problems while writing your own code with the introductory features of the book, reading the source code attached to the book might be of help. You can find the book here. All the code is organized by chapter, the folder name is the chapter number.

Exercises

There are few exercises at the end of each chapter of the book. These are meant to test whether you have mastered the knowledge in the current chapter. You can find the possible answer to the problem here. Again, the folder name is the chapter number.

Website

The source code of the website of this book can be found here, which is built by hexo and vuejs. The website provides you another way of reading the book, it also adapts to mobile browsers.

Build

If you are interested in building everything locally, it is recommended using Docker. To build, simply run:

$ make build

Acknowledgements

This book was originally written in Chinese by Changkun Ou.

The author has limited time and language skills. If readers find any mistakes in the book or any language improvements, please feel free to open an Issue or start a Pull request. For detailed guidelines and checklist, please refer to How to contribute.

The author is grateful to all contributors, including but not limited to Contributors.

This project is also supported by:

Licenses

Creative Commons License
This work was written by Ou Changkun and licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. The code of this repository is open sourced under the MIT license.

More Repositories

1

occamy

🖥️ a modern remote desktop proxy written in Go
Go
292
star
2

midgard

⛰️ Universal clipboard sharing service (supports macOS/Linux/Windows/iOS)
Go
208
star
3

dotfiles

personal development settings
Vim Script
146
star
4

german-tutorial

德语零基础教程
66
star
5

sched

⏳ a high performance reliable task scheduling package in Go.
Go
48
star
6

resume

resume and curriculum vitae
TeX
42
star
7

translation

欧长坤个人笔译作品合集
36
star
8

pkg

🥼 personal Go codebase
Go
34
star
9

changkun-blog-clients

Changkun's Blog Desktop&Mobile Client
JavaScript
30
star
10

gitcheat

Cheating Git Contribute History
Python
25
star
11

generics

Deprecated! See https://github.com/golang-design/go2generics.
Go
25
star
12

gp

🏭 Geometry Processing at LMU Munich
TypeScript
24
star
13

tli

☑️ A Things 3 CLI
Go
21
star
14

urlstat

📈 URL access statistic service
Go
18
star
15

cgo-benchmarks

Benchmarks between Cgo, Go and C
Go
16
star
16

cg1

📺 Computer Graphics at LMU Munich
TypeScript
16
star
17

gopherchina2023gogpu

Talk "Go on GPU" in GopherChina 2023
Go
14
star
18

LeapDocCN

LeapMotion 官方文档中文翻译
14
star
19

ws-18-19-deep-learning-tutorial

Deep Learning and Artificial Intelligence Tutorial @ LMU WS 2018/19
Jupyter Notebook
13
star
20

chat

ChatGPT in command line
Go
12
star
21

rmtrash

🗑️ Move directory entries to Trash
Go
11
star
22

lmu-thesis-latex

📔 A LaTeX template for LMU Master/Bachelor theses (paper+slides).
TeX
10
star
23

office

🏢 Is Changkun in the Office?
Go
9
star
24

bo

🔍 Bayesian Optimization in Go
Go
8
star
25

compiler-of-training

西南民族大学2015年春季学期秦沿海《编译原理》课程设计的Training语言的词法、语法、语义分析源代码。
C++
8
star
26

blog

✍️ Changkun's Blog
Go
8
star
27

muenchen-termin

Automated appointment booking service for muenchen.de
Python
8
star
28

UniWorXMonitor

🖥 A better LMU UniWorX System with new courses notifications.
HTML
8
star
29

ss18-machine-learning-tutorial

LMU Summer Semester 2018 Machine Learning Tutorial Materials
Jupyter Notebook
7
star
30

research

my research archive (publications/talks/teaching/etc.)
Go
6
star
31

SWUNThesis

LaTeX Thesis Template for Southwest University for Nationalities
TeX
5
star
32

short

short link handler for changkun.de/s/x/
Go
5
star
33

void

void is a zero storage cost file system.
Go
5
star
34

login

Lightweight SSO Login System
Go
5
star
35

computer-networks

Lecture notes of Computer Networks and Distributed Systems
4
star
36

theoretical-ml

Reading list of machine learning theoretical papers
4
star
37

BachelorThesis

Designing Alternative Contact-free Control Modalities for Smart Watches
PostScript
4
star
38

ser

a simple http server as replacement of python -m http.server
Go
4
star
39

awesome-go-graphics

awesome graphics projects in Go
3
star
40

gitchain

GitHub repositories meets cryptocurrencies.
Jupyter Notebook
3
star
41

twd-chi20

The Walking Data - CHI2020 Late Breaking Work
Go
3
star
42

enhance

A Go package for enhancing photographs (adjusting brightness, contrast, etc.)
Go
3
star
43

intelligence-in-the-loop

Open Source Artifacts for Ph.D. Dissertation: The Intelligence in the Loop
3
star
44

ImageProc

西南民族大学2015年春季学期雷开彬《数字图像处理(上)》实验课源代码。
C++
2
star
45

main

🏠 The entrance of changkun.de
Go
2
star
46

applied-ml

Applied Machine Learning Paper Reading List.
2
star
47

infloop

The Human in the Infinite Loop
Go
2
star
48

upbot

🤖 an uptime monitoring service
Go
2
star
49

apreserve

 apple store shopping appointment checker
Go
2
star
50

gomat

Matrix package with cache-aware lock-free tiling optimization in Go
Go
2
star
51

todo

🕕 todo management
Go
2
star
52

changkun

Github Homepage Profile
2
star
53

goid

retrieve a goroutine id in Go 1
Go
2
star
54

github-follower-net

Analytical Tool for Personal Github Follower Network Centrality
Python
1
star
55

machine-translation-detection

A machine translation detection service.
HTML
1
star
56

web

⚙️ web services in changkun.de, golang.design, etc.
Go
1
star
57

cyclemod2

enable import cycle using modules? (part 2)
Go
1
star
58

speak-alexa

Alexa Skill to practice English.
Python
1
star
59

cat

a replacement to the UNIX's cat written in Go
Go
1
star