Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/language"

From cppreference.com
< cpp
(Added a link to 'escape sequences'.)
m (add some linebreaks since they have already been in a new line)
Line 71: Line 71:
 
&nbsp; {{rlt|static_cast}} – {{rlt|dynamic_cast}}<br>
 
&nbsp; {{rlt|static_cast}} – {{rlt|dynamic_cast}}<br>
 
&nbsp; {{rlt|const_cast}} – {{rlt|reinterpret_cast}}<br>
 
&nbsp; {{rlt|const_cast}} – {{rlt|reinterpret_cast}}<br>
{{rl|expressions#Literals|Literals}} ({{rl|escape|Escape sequences}})<br>
+
{{rl|expressions#Literals|Literals}}<br>
 
&nbsp; {{rl|bool literal|boolean}} –
 
&nbsp; {{rl|bool literal|boolean}} –
 
{{rl|integer literal|integer}} –
 
{{rl|integer literal|integer}} –
 
{{rl|floating literal|floating}}<br>
 
{{rl|floating literal|floating}}<br>
 
&nbsp; {{rl|character literal|character}} –
 
&nbsp; {{rl|character literal|character}} –
{{rl|string literal|string}}<br>
+
{{rl|string literal|string}} ({{rl|escape|Escape sequences}})<br>
 
&nbsp; {{rlt|nullptr}} {{mark c++11}}<br>
 
&nbsp; {{rlt|nullptr}} {{mark c++11}}<br>
 
&nbsp; {{rl|user literal|user-defined}} {{mark c++11}}<br>
 
&nbsp; {{rl|user literal|user-defined}} {{mark c++11}}<br>
Line 97: Line 97:
 
{{rl|inline|{{tt|inline}} specifier}}<br>
 
{{rl|inline|{{tt|inline}} specifier}}<br>
 
{{rl|asm|Inline assembly}}<br>
 
{{rl|asm|Inline assembly}}<br>
{{rl|cv|{{tt|const}}/{{tt|volatile}}}} {{rlt|constexpr}} {{mark c++11}}<br>
+
{{rl|cv|{{tt|const}}/{{tt|volatile}}}}<br>
{{rlt|consteval}} {{mark c++20}} {{rlt|constinit}} {{mark c++20}}<br>
+
{{rlt|constexpr}} {{mark c++11}}<br>
{{rlt|decltype}} {{mark c++11}} {{rlt|auto}} {{mark c++11}} <br>
+
{{rlt|consteval}} {{mark c++20}}<br>
 +
{{rlt|constinit}} {{mark c++20}}<br>
 +
{{rlt|decltype}} {{mark c++11}}<br>
 +
{{rlt|auto}} {{mark c++11}}<br>
 
{{rlt|typedef}} – {{rl|type alias|Type alias}} {{mark c++11}}<br>
 
{{rlt|typedef}} – {{rl|type alias|Type alias}} {{mark c++11}}<br>
 
{{rl|elaborated type specifier|Elaborated type specifiers}}<br>
 
{{rl|elaborated type specifier|Elaborated type specifiers}}<br>
{{rl|attributes|Attributes}} {{mark c++11}} {{rlt|alignas}} {{mark c++11}}<br>
+
{{rl|attributes|Attributes}} {{mark c++11}}<br>
 +
{{rlt|alignas}} {{mark c++11}}<br>
 
{{rlt|static_assert}} {{mark c++11}}<br>
 
{{rlt|static_assert}} {{mark c++11}}<br>
 
</div>
 
</div>
Line 177: Line 181:
 
{{rl|move constructor|Move constructor}} {{mark c++11}}<br>
 
{{rl|move constructor|Move constructor}} {{mark c++11}}<br>
 
{{rl|move assignment|Move assignment}} {{mark c++11}}<br>
 
{{rl|move assignment|Move assignment}} {{mark c++11}}<br>
{{rl|converting constructor|Converting constructor}}
+
{{rl|converting constructor|Converting constructor}}<br>
 
{{rl|explicit|{{tt|explicit}} specifier}}<br>
 
{{rl|explicit|{{tt|explicit}} specifier}}<br>
 
</div>
 
</div>

Revision as of 00:35, 19 December 2022

 
 
C++ language
General topics
Flow control
Conditional execution statements
if
Iteration statements (loops)
for
range-for (C++11)
Jump statements
Functions
Function declaration
Lambda function expression
inline specifier
Dynamic exception specifications (until C++17*)
noexcept specifier (C++11)
Exceptions
Namespaces
Types
Specifiers
const/volatile
decltype (C++11)
auto (C++11)
constexpr (C++11)
consteval (C++20)
constinit (C++20)
Storage duration specifiers
Initialization
Expressions
Alternative representations
Literals
Boolean - Integer - Floating-point
Character - String - nullptr (C++11)
User-defined (C++11)
Utilities
Attributes (C++11)
Types
typedef declaration
Type alias declaration (C++11)
Casts
Memory allocation
Classes
Class-specific function properties
explicit (C++11)
static

Special member functions
Templates
Miscellaneous
 

This is a reference of the core C++ language constructs.

Basic concepts

Keywords

Preprocessor

Expressions

Declarations

Initialization

Functions

Statements

Classes

Templates

Exceptions

Miscellaneous

Idioms

See also

C documentation for C language constructs