Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

License

Notifications You must be signed in to change notification settings

utilForever/modern-cpp-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

136 Commits

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /