C++ language

This is a brief reference of available C++ language constructs.

Basic concepts.

Comments
ASCII chart
Names and identifiers
Types - Fundamental types
Object - Scope - Lifetime
Definitions and ODR
Name lookup
qualified - unqualified
Memory model and data races
Phases of translation
The main() function
.

C++ Keywords.

Preprocessor.

#if - #ifdef - #ifndef
#define - # - ## - #include
#error - #pragma - #line
.

Expressions.

Value categories
Evaluation order and sequencing
Constant expressions
Operators
assignment - arithmetic
increment and decrement
logical - comparison
member access and indirection
call, comma, ternary
sizeof - alignof(C++11)
new - delete - typeid
Operator overloading
Operator precedence
Conversions
implicit - explicit - user-defined
static_cast - dynamic_cast
const_cast - reinterpret_cast
Literals
boolean - integer - floating
character - string
nullptr (C++11)
user-defined (C++11)
.

Declaration.

Namespace declaration
Namespace alias
Lvalue and rvalue references
Pointers - Arrays
Enumerations and enumerators
Storage duration and linkage
Language linkage
const/volatile - constexpr(C++11)
decltype(C++11) - auto(C++11)
alignas(C++11)
typedef - Type alias(C++11)
Elaborated type specifiers
Attributes(C++11)
static_assert(C++11)
.

Initialization.

Default initialization
Value initialization(C++03)
Copy initialization
Direct initialization
Aggregate initialization
List initialization(C++11)
Reference initialization
Static non-local initialization
zero - constant
Dynamic non-local initialization
ordered - unordered.

Functions.

Function declaration
Default arguments
Variadic arguments
Lambda expression(C++11)
inline specifier
Argument-dependent lookup
Overload resolution
Operator overloading
Address of an overload set
.

Statements.

if - switch
for - range-for(C++11)
while - do-while
continue - break - goto - return
synchronized and atomic(TM TS)
.

Classes.

Class types - Union types
Data members - Member functions
Static members - Nested classes
Derived class - using-declaration
Virtual function - Abstract class
Member access - friend
override(C++11) - final(C++11)
Bit fields - The this pointer
Constructors and member initializer lists
Default constructor - Destructor
Copy constructor - Copy assignment
Move constructor(C++11) - Move assignment(C++11)
converting constructor - explicit specifier
.

Templates.

Template parameters and arguments
Class template - Function template
Class member template
Variable template(C++14)
Template argument deduction
Explicit specialization
Partial specialization
Parameter packs(C++11) - sizeof...(C++11)
Fold-expessions(C++17)
Dependent names - SFINAE
Constraints and concepts (concepts TS)
.

Exceptions.

throw-expression
try-catch block
function-try-block
noexcept specifier(C++11)
noexcept operator(C++11)
Exception specification
.

Miscellaneous.

History of C++
Inline assembly
Extending the namespace std
Undefined behavior
RAII - Rule of three/five/zero
As-if rule - Copy elision
Empty base optimization
.

See also

C documentation for C language constructs
doc_CPP
2016-10-11 09:57:43
Comments
Leave a Comment

Please login to continue.