Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/language"

From cppreference.com
< cpp
m (fix hyphenation in accordance with the C++ standard)
m (Updated a few links (targets are the same)
Line 52: Line 52:
 
{{rl|eval order|Evaluation order and sequencing}}<br>
 
{{rl|eval order|Evaluation order and sequencing}}<br>
 
{{rl|constant expression|Constant expressions}}<br>
 
{{rl|constant expression|Constant expressions}}<br>
{{rl|expressions#Operators|Operators}}<br>
+
{{ls|cpp/language/expressions|Operators}}<br>
 
{{nbsp}} {{rl|operator assignment|assignment}} –
 
{{nbsp}} {{rl|operator assignment|assignment}} –
 
{{rl|operator arithmetic|arithmetic}}<br>
 
{{rl|operator arithmetic|arithmetic}}<br>
Line 66: Line 66:
 
{{rl|default comparisons|Default comparisons}} {{mark c++20}}<br>
 
{{rl|default comparisons|Default comparisons}} {{mark c++20}}<br>
 
{{rl|operator precedence|Operator precedence}}<br>
 
{{rl|operator precedence|Operator precedence}}<br>
{{rl|expressions#Conversions|Conversions}}<br>
+
{{ls|cpp/language/expressions|Conversions}}<br>
 
{{nbsp}} {{rl|implicit conversion|implicit}} –
 
{{nbsp}} {{rl|implicit conversion|implicit}} –
 
{{rl|explicit cast|explicit}} –
 
{{rl|explicit cast|explicit}} –
Line 73: Line 73:
 
{{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>
+
{{ls|cpp/language/expressions|Literals}} ({{rl|escape|Escape sequences}})<br>
 
{{nbsp}} {{rl|bool literal|boolean}} –
 
{{nbsp}} {{rl|bool literal|boolean}} –
 
{{rl|integer literal|integer}} –
 
{{rl|integer literal|integer}} –
Line 224: Line 224:
 
[[cpp/language/ndr|NDR]],
 
[[cpp/language/ndr|NDR]],
 
[[cpp/string/byte|NTBS]],<br>
 
[[cpp/string/byte|NTBS]],<br>
[[cpp/language/template_parameters|NTTP]],
+
[[cpp/language/template parameters#Non-type template parameter|NTTP]],
 
[[cpp/ranges#Range adaptor objects|RAO]],
 
[[cpp/ranges#Range adaptor objects|RAO]],
 
[[cpp/memory/allocator_traits/select_on_container_copy_construction|SOCCC]],
 
[[cpp/memory/allocator_traits/select_on_container_copy_construction|SOCCC]],

Revision as of 11:47, 24 September 2023

 
 
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