-
Notifications
You must be signed in to change notification settings - Fork 3
home
Jeff edited this page May 31, 2016
·
1 revision
- "Hello World" - The structure of a C++ Program
- types
- fundamental types.
- <cstdint>.
- enums (scoped v. un-scoped).
- unions.
- decltype and auto
- literals
- Integer Literals
- Float Literals
- Character Literals
- Character Escape Sequences
- String Literals
-
nullptr (C++11)
- Whats so great about nullptr
- A name for the null pointer: nullptr This is the original proposal
- User Defined Literals (C++11)
- Type Casting
- const, reference, pointer types.
- constexpr
- run-time sized arrays C++14
- always use auto
- auto1 and auto2
- Smart Pointers (shared_ptr, unique_ptr, weak_ptr).
- Papers
- Videos
- STL-Containers
- functions and lambdas
- calling conventions.
- where to define variables (C does it right away... C++ right before use).
- [const, inline, and static](const, inline, static) over #defines.
- [Function overloading](function overloading).
- lambdas
- std::function
- lambdas and functions
-
Sequence Containers
- std::vector
- std::deque
- std::array (C++11)
- std::list
- std::forward_list (C++11)
- push_back v. emplace
- structs v. classes
- Constructors
- Copy Constructors
- Destructor
- Delegating Constructors
- Explicit Constructors
- POD
- Trivial Classes
- Standard Layout
- Initialization Lists
- In class initializers
- Initialization Methods
{}
,()
,=
, or= {}
- RAII.
- [include guard v. #pragma once](include guard).
-
objects.
- [understand what functions get automatically generated](
default
delete
- Overloading operators.
- public v. private v. protected.
- move construction and assignment (Rule of 5).
- Rule of 3/5/0
- mutable
- [understand what functions get automatically generated](
- Access Control public, private, protected
- Types of inheritance public private protected
- virtual
- Interfaces (Abstract Classes).
- Construction and Destruction (When to call the Base Class).
- override
- final
- Multiple inheritance
- Diamond pattern
- What are exceptions
- http://www.embedded.com/electronics-blogs/programming-pointers/4026038/Throw-and-catch
- Function-Try-Block
- noexcept
- Defer
- What is a regular Expression?
- <regex>
- std::atomic
- Threads
- std::thread C++11
- std::thread::yield C++11
- std::thread::get_id C++11
- std::thread::sleep_for C++11
- std::thread::sleep_until C++11
- Locking
- std::mutex C++11
- std::timed_mutex C++11
- std::recursive_mutex C++11
- std::recursive_timed_mutex C++11
- std::shared_mutex C++17
- std::shared_timed_mutex C++14
- Locking Management
- std::lock_guard C++11
- std::unique_lock C++11
- std::shared_lock C++14
- std::try_lock C++11
- std::lock C++11
- Futures and Promises
- []
- type deduction
- SFINAE
- template functions
- template classes
- template specialization
-
Combining C and C++
- C headers in the standard library.
- extern "C" and C++ name mangling.
-
Exceptions
-
Regular Expressions
-
inline
-
static
-
const
-
constexpr
-
enable-if
-
std::function
-
regular expressions
-
SFINAE
-
Small object optimization
-
type erasure
-
virtual friend functions
-
virtual constructor
-
Inner class
-
ScopeGuard
-
override
-
noexcept
-
exceptions
- Look at "More Effective C++" whole section on exception.
-
std::move
-
std::forward
-
emplacement v. insertion.
-
template
- variadic templates
-
Inter Process Communication
-
Threading Auxillary Topics =============
-
git workflow
-
unicode
- https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms
- structure packing
- Why did the Win64 team choose the LLP64 model?
- http://en.cppreference.com/w/cpp/compiler_support
- https://www.ojdip.net/2013/10/implementing-a-variant-type-in-cpp/
- http://www.bdsoft.com/courses/modern-c++-outline.html
- http://people.ds.cam.ac.uk/nmm1/C++/index.html
- https://github.com/search?p=8&q=C%2B%2B+Course&type=Repositories&utf8=%E2%9C%93
- https://github.com/icpcpp/course
- https://github.com/dvdbisong/CplusTutorial
- https://github.com/antonkov/CppCourse
- https://github.com/antonkov/CppCourse
- https://github.com/StrawHatter/Coursework
- https://github.com/Elygian/Coursework
- https://github.com/porkybrain/accelerated-entry-into-cpp14