Difference between revisions of "cpp/language"
From cppreference.com
< cpp
m (+pack indexing) |
(Added some line breaks to avoid wrapping in Cppreference skin (which has a 800px width limit).) |
||
Line 43: | Line 43: | ||
{{rlpt|preprocessor/impl|#pragma}}<br> | {{rlpt|preprocessor/impl|#pragma}}<br> | ||
{{rlpt|preprocessor/line|#line}} - | {{rlpt|preprocessor/line|#line}} - | ||
− | {{rlp|preprocessor/error|{{tt|#error}} | + | {{rlp|preprocessor/error|{{tt|#error}}<br> |
+ | {{tt|#warning}}}} {{mark c++23}}<br> | ||
</div> | </div> | ||
Line 49: | Line 50: | ||
<div class="mainpagediv"> | <div class="mainpagediv"> | ||
{{rl|value category|Value categories}}<br> | {{rl|value category|Value categories}}<br> | ||
− | {{rl|eval order|Evaluation order | + | {{rl|eval order|Evaluation order}}<br> |
{{rl|constant expression|Constant expressions}}<br> | {{rl|constant expression|Constant expressions}}<br> | ||
{{ls|cpp/language/expressions#Operators}}<br> | {{ls|cpp/language/expressions#Operators}}<br> | ||
Line 57: | Line 58: | ||
{{nbsp|4}}{{rl|operator logical|logical}} – | {{nbsp|4}}{{rl|operator logical|logical}} – | ||
{{rl|operator comparison|comparison}}<br> | {{rl|operator comparison|comparison}}<br> | ||
− | {{nbsp|4}}{{rl|operator member access|member access | + | {{nbsp|4}}{{rl|operator member access|member access}}<br> |
{{nbsp|4}}{{rl|operator other|call, comma, ternary}}<br> | {{nbsp|4}}{{rl|operator other|call, comma, ternary}}<br> | ||
{{nbsp|4}}{{rlt|sizeof}} – {{rlt|alignof}} {{mark c++11}}<br> | {{nbsp|4}}{{rlt|sizeof}} – {{rlt|alignof}} {{mark c++11}}<br> | ||
{{nbsp|4}}{{rlt|new}} – {{rlt|delete}} – {{rlt|typeid}}<br> | {{nbsp|4}}{{rlt|new}} – {{rlt|delete}} – {{rlt|typeid}}<br> | ||
{{nbsp|4}}{{rl|operator_alternative|alternative representation}}<br> | {{nbsp|4}}{{rl|operator_alternative|alternative representation}}<br> | ||
− | |||
{{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> | ||
{{ls|cpp/language/expressions#Conversions}}<br> | {{ls|cpp/language/expressions#Conversions}}<br> | ||
− | {{nbsp|4}}{{rl|implicit conversion|implicit}} – | + | {{nbsp|4}}{{rl|implicit conversion|implicit}} – {{rl|explicit cast|explicit}}<br> |
− | {{rl|explicit cast|explicit}} | + | {{nbsp|4}}{{rl|cast operator|user-defined}}<br> |
− | {{rl|cast operator|user-defined}}<br> | + | |
{{nbsp|4}}{{rl|usual arithmetic conversions|Usual arithmetic conversions}}<br> | {{nbsp|4}}{{rl|usual arithmetic conversions|Usual arithmetic conversions}}<br> | ||
{{nbsp|4}}{{rlt|static_cast}} – {{rlt|dynamic_cast}}<br> | {{nbsp|4}}{{rlt|static_cast}} – {{rlt|dynamic_cast}}<br> | ||
− | {{nbsp|4}}{{rlt|const_cast}} | + | {{nbsp|4}}{{rlt|const_cast}}<br> |
+ | {{nbsp|4}}{{rlt|reinterpret_cast}}<br> | ||
{{ls|cpp/language/expressions#Literals}} ({{rl|escape|Escape sequences}})<br> | {{ls|cpp/language/expressions#Literals}} ({{rl|escape|Escape sequences}})<br> | ||
{{nbsp|4}}{{rl|bool literal|boolean}} – | {{nbsp|4}}{{rl|bool literal|boolean}} – | ||
Line 101: | Line 101: | ||
{{rlt|consteval}} {{mark c++20}}<br> | {{rlt|consteval}} {{mark c++20}}<br> | ||
{{rlt|constinit}} {{mark c++20}}<br> | {{rlt|constinit}} {{mark c++20}}<br> | ||
− | {{rlt|decltype}} {{mark c++11}} | + | {{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> | ||
Line 131: | Line 132: | ||
{{rl|variadic arguments|Variadic arguments}}<br> | {{rl|variadic arguments|Variadic arguments}}<br> | ||
{{rl|lambda|Lambda expression}} {{mark c++11}}<br> | {{rl|lambda|Lambda expression}} {{mark c++11}}<br> | ||
− | |||
{{rl|overload resolution|Overload resolution}}<br> | {{rl|overload resolution|Overload resolution}}<br> | ||
{{rl|operators|Operator overloading}}<br> | {{rl|operators|Operator overloading}}<br> | ||
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> | ||
− | {{rl|template argument deduction| | + | Template argument deduction<br> |
− | {{rl|class template argument deduction| | + | {{nbsp|4}}{{rl|template argument deduction|function}} – |
+ | {{rl|class template argument deduction|class}} {{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}} | + | {{rl|parameter pack|Parameter packs}} {{mark c++11}}<br> |
{{rlt|sizeof...}} {{mark c++11}}<br> | {{rlt|sizeof...}} {{mark c++11}}<br> | ||
− | {{rl|fold|Fold | + | {{rl|fold|Fold expressions}} {{mark c++17}}<br> |
{{rl|pack_indexing|Pack indexing}} {{mark c++26}}<br> | {{rl|pack_indexing|Pack indexing}} {{mark c++26}}<br> | ||
{{rl|dependent name|Dependent names}} – | {{rl|dependent name|Dependent names}} – | ||
Line 207: | Line 208: | ||
{{rl|try catch|{{tt|try}}-{{tt|catch}} block}}<br> | {{rl|try catch|{{tt|try}}-{{tt|catch}} block}}<br> | ||
{{rl|function-try-block|Function-{{tt|try}}-block}}<br> | {{rl|function-try-block|Function-{{tt|try}}-block}}<br> | ||
− | {{rl|noexcept spec|{{tt|noexcept}} | + | Exception specification<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> | ||
{{rl|noexcept|{{tt|noexcept}} operator}} {{mark c++11}}<br> | {{rl|noexcept|{{tt|noexcept}} operator}} {{mark c++11}}<br> | ||
− | |||
</div> | </div> | ||
Revision as of 19:05, 1 January 2024
This is a reference of the core C++ language constructs.
See also
C documentation for C language constructs
|