Language Features
- rvalue references
- move semantics
- initializer lists
- static assertions
- type aliases
- attributes
- final specifier
- explicit conversion functions
- char32_t and char16_t
- forwarding references
- variadic templates
- auto
- lambda expressions
- decltype
- nullptr
- strongly-typed enums
- right angle brackets
- constexpr
- delegating constructors
- user-defined literals
- explicit virtual overrides
- default functions
- deleted functions
- range-based for loops
- special member functions for move semantics
- converting constructors
- inline-namespaces
- non-static data member initializers
- ref-qualified member functions
- trailing return types
- noexcept specifier
- raw string literals
Acknowledgements
- cppreference - especially useful for finding examples and documentation of new library features.
- C++ Rvalue References Explained - a great introduction I used to understand rvalue references, perfect forwarding, and move semantics.
- clang and gcc's standards support pages. Also included here are the proposals for language/library features that I used to help find a description of, what it's meant to fix, and some examples.
- Compiler explorer
- Scott Meyers' Effective Modern C++ - highly recommended book!
- Jason Turner's C++ Weekly - nice collection of C++-related videos.
- What can I do with a moved-from object?
- What are some uses of decltype(auto)?
- And many more SO posts I'm forgetting...
Author
Anthony Calandra
Content Contributors
See: https://github.com/AnthonyCalandra/modern-cpp-features/graphs/contributors
License
MIT