Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/language"

From cppreference.com
< cpp
(Link update for “try block”, the links to the old pages are temporarily kept until all other links to those pages are updated.)
m (Added (CTAD) acronym explicitly.)
 
(One intermediate revision by one user not shown)
Line 189: Line 189:
 
{{rl|variable template|Variable template}} {{mark c++14}}<br>
 
{{rl|variable template|Variable template}} {{mark c++14}}<br>
 
{{rl|member template|Class member template}}<br>
 
{{rl|member template|Class member template}}<br>
Template argument deduction<br>
+
'''Template argument deduction'''<br>
 
{{nbsp|4}}{{rl|template argument deduction|function}} –
 
{{nbsp|4}}{{rl|template argument deduction|function}} –
{{rl|class template argument deduction|class}} {{mark c++17}}<br>
+
{{rl|class template argument deduction|class (CTAD)}} {{mark c++17}}<br>
 
{{rl|template specialization|Explicit specialization}} – {{rl|partial specialization|Partial specialization}}<br>
 
{{rl|template specialization|Explicit specialization}} – {{rl|partial specialization|Partial specialization}}<br>
 
{{rl|parameter pack|Parameter packs}} {{mark c++11}}<br>
 
{{rl|parameter pack|Parameter packs}} {{mark c++11}}<br>
Line 205: Line 205:
 
'''{{rl|exceptions|Exceptions}}'''
 
'''{{rl|exceptions|Exceptions}}'''
 
<div class="mainpagediv">
 
<div class="mainpagediv">
{{rl|try|{{c/core|try}} block}} (Legacy pages {{rl|try catch|1}} {{rl|function-try-block|2}})<br>
+
{{rl|try|{{tt|try}} block}}<br>
 
{{rl|throw|Throwing exceptions}}<br>
 
{{rl|throw|Throwing exceptions}}<br>
 
{{rl|catch|Handling exceptions}}<br>
 
{{rl|catch|Handling exceptions}}<br>
Exception specification<br>
+
'''Exception specification'''<br>
 
{{nbsp|4}}{{rl|noexcept spec|{{tt|noexcept}} specification}} {{mark c++11}}<br>
 
{{nbsp|4}}{{rl|noexcept spec|{{tt|noexcept}} specification}} {{mark c++11}}<br>
 
{{nbsp|4}}{{rl|except spec|Dynamic specification}} {{mark tooltip|until C++17|deprecated in C++11}}<br>
 
{{nbsp|4}}{{rl|except spec|Dynamic specification}} {{mark tooltip|until C++17|deprecated in C++11}}<br>

Latest revision as of 11:11, 21 September 2024

 
 
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

try block
Throwing exceptions
Handling exceptions
Exception specification
    noexcept specification (C++11)
    Dynamic specification (until C++17*)
noexcept operator (C++11)

Miscellaneous

Idioms

[edit] See also

C documentation for C language constructs