namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:keywords

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
kennen:keywords [2020-06-28 12:14]
rrichter [alphabetisch geordnet]
kennen:keywords [2020-07-12 16:35] (aktuell)
rrichter [concept]
Zeile 5: Zeile 5:
 Schlüsselwörter sind reservierte Bezeichner mit vordefinierter Bedeutung. Schlüsselwörter sind reservierte Bezeichner mit vordefinierter Bedeutung.
 Sie können nicht als Namen für Variablen, Funktionen, Klassen usw. benutzt werden. Sie können nicht als Namen für Variablen, Funktionen, Klassen usw. benutzt werden.
-Darüber hinaus sind Operatornamen ​+Darüber hinaus sind die Operatornamen ​
  
 <code cpp> <code cpp>
Zeile 15: Zeile 15:
 für einige [[operator#​Rangfolge|Operatoren]] für einige [[operator#​Rangfolge|Operatoren]]
 wie Schlüsselwörter zu behandeln. wie Schlüsselwörter zu behandeln.
-An bestimmten Stellen haben die Bezeichner [[.:​beispiel:​override|final]] ​und [[.:​beispiel:​override|override]] besondere Bedeutung.+Nur an bestimmten Stellen haben die Bezeichner ​ 
 +[[.:​beispiel:​override|final]][[.:​beispiel:​override|override]],  
 +[[.:​beispiel:​export|module]] und [[.:​beispiel:​export|import]] besondere Bedeutung.
  
  
  
  
-===== alphabetisch ​geordnet ​===== +===== alphabetisch ===== 
- ​[[#​alignas]] +<WRAP col5> 
- ​[[#​alignof]] + ​[[#​alignas]]\\ 
- ​[[#​asm]] + ​[[#​alignof]]\\ 
- ​[[#​auto]] + ​[[#​asm]]\\ 
- ​[[#​bool]] + ​[[#​auto]]\\ 
- ​[[#​break]] + ​[[#​bool]]\\ 
- ​[[#​case]] + ​[[#​break]]\\ 
- ​[[#​catch]] + ​[[#​case]]\\ 
- ​[[#​char]] + ​[[#​catch]]\\ 
- ​[[#​char16_t]] + ​[[#​char]]\\ 
- ​[[#​char32_t]] + ​[[#​char8_t]]\\ 
- ​[[#​class]] + ​[[#​char16_t]]\\ 
- ​[[#​const]] + ​[[#​char32_t]]\\ 
- ​[[#​constexpr]] + ​[[#​class]]\\ 
- ​[[#​const_cast]] + ​[[#​co_await]]\\ 
- ​[[#​continue]] + ​[[#​co_return]]\\ 
- ​[[#​decltype]] + ​[[#​co_yield]]\\ 
- ​[[#​default]] + ​[[#​concept]]\\ 
- ​[[#​delete]] + ​[[#​const]]\\ 
- ​[[#​do]] + ​[[#​consteval]]\\ 
- ​[[#​double]] + ​[[#​constexpr]]\\ 
- ​[[#​dynamic_cast]] + ​[[#​const_cast]]\\ 
- ​[[#​else]] + ​[[#​continue]]\\ 
- ​[[#​enum]] + ​[[#​decltype]]\\ 
- ​[[#​explicit]] + ​[[#​default]]\\ 
- ​[[#​export]] + ​[[#​delete]]\\ 
- ​[[#​extern]] + ​[[#​do]]\\ 
- ​[[#​false]] + ​[[#​double]]\\ 
- ​[[#​float]] + ​[[#​dynamic_cast]]\\ 
- ​[[#​for]] + ​[[#​else]]\\ 
- ​[[#​friend]] + ​[[#​enum]]\\ 
- ​[[#​goto]] + ​[[#​explicit]]\\ 
- ​[[#​if]] + ​[[#​export]]\\ 
- ​[[#​inline]] + ​[[#​extern]]\\ 
- ​[[#​int]] + ​[[#​false]]\\ 
- ​[[#​long]] + ​[[#​float]]\\ 
- ​[[#​mutable]] + ​[[#​for]]\\ 
- ​[[#​namespace]] + ​[[#​friend]]\\ 
- ​[[#​new]] + ​[[#​goto]]\\ 
- ​[[#​noexcept]] + ​[[#​if]]\\ 
- ​[[#​nullptr]] + ​[[#​inline]]\\ 
- ​[[#​operator]] + ​[[#​int]]\\ 
- ​[[#​private]] + ​[[#​long]]\\ 
- ​[[#​protected]] + ​[[#​mutable]]\\ 
- ​[[#​public]] + ​[[#​namespace]]\\ 
- <​del>​[[#​register]]</​del>​ + ​[[#​new]]\\ 
- ​[[#​reinterpret_cast]] + ​[[#​noexcept]]\\ 
- ​[[#​return]] + ​[[#​nullptr]]\\ 
- ​[[#​short]] + ​[[#​operator]]\\ 
- ​[[#​signed]] + ​[[#​private]]\\ 
- ​[[#​sizeof]] + ​[[#​protected]]\\ 
- ​[[#​static]] + ​[[#​public]]\\ 
- ​[[#​static_assert]] + <​del>​[[#​register]]</​del>​\\ 
- ​[[#​static_cast]] + ​[[#​reinterpret_cast]]\\ 
- ​[[#​struct]] + ​[[#​requires]]\\ 
- ​[[#​switch]] + ​[[#​return]]\\ 
- ​[[#​template]] + ​[[#​short]]\\ 
- ​[[#​this]] + ​[[#​signed]]\\ 
- ​[[#​thread_local]] + ​[[#​sizeof]]\\ 
- ​[[#​throw]] + ​[[#​static]]\\ 
- ​[[#​true]] + ​[[#​static_assert]]\\ 
- ​[[#​try]] + ​[[#​static_cast]]\\ 
- ​[[#​typedef]] + ​[[#​struct]]\\ 
- ​[[#​typeid]] + ​[[#​switch]]\\ 
- ​[[#​typename]] + ​[[#​template]]\\ 
- ​[[#​union]] + ​[[#​this]]\\ 
- ​[[#​unsigned]] + ​[[#​thread_local]]\\ 
- ​[[#​using]] + ​[[#​throw]]\\ 
- ​[[#​virtual]] + ​[[#​true]]\\ 
- ​[[#​void]] + ​[[#​try]]\\ 
- ​[[#​volatile]] + ​[[#​typedef]]\\ 
- ​[[#​wchar_t]]+ ​[[#​typeid]]\\ 
 + ​[[#​typename]]\\ 
 + ​[[#​union]]\\ 
 + ​[[#​unsigned]]\\ 
 + ​[[#​using]]\\ 
 + ​[[#​virtual]]\\ 
 + ​[[#​void]]\\ 
 + ​[[#​volatile]]\\ 
 + ​[[#​wchar_t]]\\
  ​[[#​while]]  ​[[#​while]]
- +</​WRAP>​ 
-===== nach Aufgaben ​geordnet ​===== +===== nach Aufgaben ===== 
-Schlüsselwörter der Sprache C sind durch einen nachfolgenden Stern* gekennzeichnet, ​mit C++11 hinzugekommene ​durch ein Plus+, <​del>​durchgestrichene</​del>​ geächtet oder entfallen.+Schlüsselwörter der Sprache C sind durch einen nachfolgenden Stern * gekennzeichnet, ​in Modernem ​C++ hinzugekommene ​als ¹[[begriffe#​C++11]],  
 +<​sup>​+</​sup>​[[begriffe#​C++14]],​  
 +*[[begriffe#​C++17]],​ 
 +°[[begriffe#​C++20]] gekennzeichnet, <​del>​durchgestrichene</​del>​ geächtet oder entfallen.
  
 | Grunddatentypen | Wahrheitswerte ​    | [[#bool]], [[#true]], [[#false]]| | Grunddatentypen | Wahrheitswerte ​    | [[#bool]], [[#true]], [[#false]]|
-|                 | Zeichen und Zahlen | [[#char]]*, [[#​char16_t]]+,​ [[#​char32_t]]+,​ [[#​wchar_t]]|+|                 | Zeichen und Zahlen | [[#char]]*, [[#​char8_t]]°, [[#​char16_t]]+,​ [[#​char32_t]]+,​ [[#​wchar_t]]|
 |                 | Zahlen ​            | [[#​double]]*,​ [[#​float]]*,​ [[#int]]*,| |                 | Zahlen ​            | [[#​double]]*,​ [[#​float]]*,​ [[#int]]*,|
 |                 | weitere ​           | [[#auto]]+, [[#enum]]*, [[#​typedef]]*,​ [[#void]]*| |                 | weitere ​           | [[#auto]]+, [[#enum]]*, [[#​typedef]]*,​ [[#void]]*|
 | Modifizierer für| Platzbedarf ​       | [[#long]]*, [[#​short]]*| | Modifizierer für| Platzbedarf ​       | [[#long]]*, [[#​short]]*|
 |                 | Vorzeichen ​        | [[#​signed]]*,​ [[#​unsigned]]*| |                 | Vorzeichen ​        | [[#​signed]]*,​ [[#​unsigned]]*|
-|                 | Veränderbarkeit ​   | [[#​const]]*,​ [[#​constexpr]]+,​ [[#​mutable]],​ [[#​volatile]]*|+|                 | Veränderbarkeit ​   | [[#const]]*, [[#​consteval]]°, [[#​constexpr]]+,​ [[#​mutable]],​ [[#​volatile]]*|
 |                 | Lebensdauer / Ort  | [[#​alignas]]+,​ [[#​extern]]*,​ [[#​static]]*,​ [[#​thread_local]]+| |                 | Lebensdauer / Ort  | [[#​alignas]]+,​ [[#​extern]]*,​ [[#​static]]*,​ [[#​thread_local]]+|
 | Zusammengesetzte Typen | Klassen & Strukturen | [[#class]], [[#​struct]]*,​ [[#​union]]*,​ [[#​explicit]],​ [[#this]], [[#​virtual]]| | Zusammengesetzte Typen | Klassen & Strukturen | [[#class]], [[#​struct]]*,​ [[#​union]]*,​ [[#​explicit]],​ [[#this]], [[#​virtual]]|
 |                 | Zugriffsrechte ​    | [[#​friend]],​ [[#​private]],​ [[#​protected]],​ [[#​public]]| |                 | Zugriffsrechte ​    | [[#​friend]],​ [[#​private]],​ [[#​protected]],​ [[#​public]]|
 +| Concepts ​       |                    | [[#​concept]]°,​ [[#​requires]]°|
 | Typinformation ​ |                    | [[#​alignof]]+,​ [[#​decltype]]+,​ [[#​sizeof]]*,​ [[#​typeid]],​ [[#​typename]]| | Typinformation ​ |                    | [[#​alignof]]+,​ [[#​decltype]]+,​ [[#​sizeof]]*,​ [[#​typeid]],​ [[#​typename]]|
 | Typumwandlung ​  | (type casts) ​      | [[#​const_cast]],​ [[#​dynamic_cast]],​ [[#​reinterpret_cast]],​ [[#​static_cast]]| | Typumwandlung ​  | (type casts) ​      | [[#​const_cast]],​ [[#​dynamic_cast]],​ [[#​reinterpret_cast]],​ [[#​static_cast]]|
Zeile 114: Zeile 128:
 |                 | Sprünge ​           | [[#​break]]*,​ [[#​continue]]*,​ [[#goto]]*| |                 | Sprünge ​           | [[#​break]]*,​ [[#​continue]]*,​ [[#goto]]*|
 |                 | Ausnahmebehandlung | [[#catch]], [[#​noexcept]]+,​ [[#​static_assert]]+,​ [[#throw]], [[#try]]| |                 | Ausnahmebehandlung | [[#catch]], [[#​noexcept]]+,​ [[#​static_assert]]+,​ [[#throw]], [[#try]]|
 +|                 | Couroutinen ​       | [[#​co_wait]]°,​ [[#​co_return]]°,​ [[#​co_yield]]°|
 | Assemblercode ​  ​| ​                   | [[#asm]]| | Assemblercode ​  ​| ​                   | [[#asm]]|
 | Freispeicher ​   |                    | [[#​delete]],​ [[#new]], [[#​nullptr]]+| | Freispeicher ​   |                    | [[#​delete]],​ [[#new]], [[#​nullptr]]+|
 | Funktionen ​     |                    | [[#​inline]],​ [[#​operator]],​ [[#​return]]*| | Funktionen ​     |                    | [[#​inline]],​ [[#​operator]],​ [[#​return]]*|
 | Namensbereiche ​ |                    | [[#​namespace]],​ [[#using]]| | Namensbereiche ​ |                    | [[#​namespace]],​ [[#using]]|
 +| Modularisierung |                    | [[#​export]]°|
 | Schablonen ​     |                    | [[#​template]]| | Schablonen ​     |                    | [[#​template]]|
-| reserviert ​     |                    | <​del>​[[#​export]]</​del>​+, ​<​del>​[[#​register]]</​del>​*|+| reserviert ​     |                    | <​del>​[[#​register]]</​del>​*|
  
-Aufgeführte Jahreszahlen geben die Einführung ​Bedeutungsänderung ​der Schlüsselwörter ​im Sprachstandard (C++ ISO 14882) an. +Aufgeführte Jahreszahlen geben den Zeitpunkt der Einführung ​bzw. Bedeutungsänderung im Sprachstandard (C++ ISO 14882) an. 
-===== C++ Schlüsselwörter ​=====+===== Erläuterungen ​=====
 ==== alignas ==== ==== alignas ====
 C++11 : Die Ausrichtung von Elementen an Adressgrenzen von 1, 2, 4, 8, ... Byte ist von Bedeutung, wenn Daten über Plattformgrenzen transportiert werden, z.B. von CPU zu GPUs. C++11 : Die Ausrichtung von Elementen an Adressgrenzen von 1, 2, 4, 8, ... Byte ist von Bedeutung, wenn Daten über Plattformgrenzen transportiert werden, z.B. von CPU zu GPUs.
Zeile 240: Zeile 256:
 |             | [[#​struct]]| [[.:​beispiel:​class]]| |             | [[#​struct]]| [[.:​beispiel:​class]]|
  
 +
 +==== co_await ====
 +C++20:
 +
 +| Siehe auch: | Schlüsselwörter | Quelltext|
 +| [[kennen:​coroutine]] | [[#​co_return]] [[#​co_yield]] | |
 +
 +==== co_return ====
 +C++20:
 +
 +| Siehe auch: | Schlüsselwörter | Quelltext|
 +| [[kennen:​coroutine]] | [[#​co_await]] [[#​co_yield]] | |
 +
 +==== co_yield ====
 +C++20:
 +
 +| Siehe auch: | Schlüsselwörter | Quelltext|
 +| [[kennen:​coroutine]] | [[#​co_await]] [[#​co_return]] | |
 +
 +==== concept ====
 +C++20: ein zur Übersetzungszeit auswertbares [[.:​begriffe#​Prädikat]],​ definiert eine benannte Anforderung an [[.:​begriffe#​Schablone]]n.
 +
 +| Siehe auch: | Schlüsselwörter | Quelltext|
 +| [[kennen:​concepts]] | [[#​requires]] | [[.:​beispiel:​concept]]|
  
 ==== const ==== ==== const ====
Zeile 395: Zeile 435:
 ==== export ==== ==== export ====
 C++11 : für künftige Bedeutungen reserviert. C++11 : für künftige Bedeutungen reserviert.
 +
 +C++20 : [[.:​module]] geben damit bekannt, welche Namen zur öffentlichen [[.:​module#​Schnittstelle]] gehören. ​
 +
 +| Siehe auch: | Schlüsselwörter | Quelltext|
 +|             ​| ​     | [[.:​beispiel:​export]]|
 +
 ==== extern ==== ==== extern ====
 C, C++ : Das Schlüsselwort ''​extern''​ zeigt an,  C, C++ : Das Schlüsselwort ''​extern''​ zeigt an, 
Zeile 677: Zeile 723:
 | Siehe auch: | Schlüsselwörter | Quelltext| | Siehe auch: | Schlüsselwörter | Quelltext|
 | | [[#​const_cast]],​ [[#​static_cast]]| [[.:​beispiel:​typecast]]| | | [[#​const_cast]],​ [[#​static_cast]]| [[.:​beispiel:​typecast]]|
 +
 +==== requires ====
 +C++20: stellt eine Anforderung an [[.:​begriffe#​Schablone]]n bzw. formuliert Anforderungen.
 +
 +| Siehe auch: | Schlüsselwörter | Quelltext|
 +| [[kennen:​concepts]] | [[#​concept]] | [[.:​beispiel:​requires]]|
  
 ==== return ==== ==== return ====
kennen/keywords.1593339265.txt.gz · Zuletzt geändert: 2020-06-28 12:14 von rrichter