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).
sizeof
alignof
new
delete
typeid
static_cast
dynamic_cast
const_cast
reinterpret_cast
nullptr
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).
const
volatile
constexpr
decltype
auto
alignas
typedef
static_assert
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 initializationordered - 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.
inline
Statements.
if - switch for - range-for(C++11) while - do-while continue - break - goto - return synchronized and atomic(TM TS).
if
switch
for
while
do
continue
break
goto
return
synchronized and atomic
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.
using
friend
this
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).
sizeof...
Exceptions.
throw-expression try-catch block function-try-block noexcept specifier(C++11) noexcept operator(C++11) Exception specification.
throw
try
catch
noexcept
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.
C language constructs
Please login to continue.
Please login to continue.