Poniższa lista przedstawia słowa kluczowe w C++. Ich znaczenie nie może być w żaden sposób zmienione przez programistę (nie można np. zadeklarować zmiennej o nazwie będącej słowem kluczowym).
| Słowo kluczowe | Opis | |
|---|---|---|
| and | alternatywa dla operatora && | |
| and_eq | alternatywa dla operatora &= | |
| asm | wstawia instrukcje assemblera | |
| auto | deklaruje lokalną zmienną | |
| bool | deklaruje zmienną typu boolean (logiczną) | |
| break | wychodzi z pętli | |
| case | blok kodu w składni switch | |
| catch | obsługa wyjątków rzuconych przez throw | |
| char | deklaracja zmiennej znakowej | |
| class | deklaracja klasy | |
| const | deklaracja stałej lub metody niezmieniającej danych | |
| const_cast | rzutowanie ze zmiennej stałej (cast) | |
| continue | przejście do następnej iteracji pętli | |
| default | wykonywany domyślnie w switch | |
| delete | zwraca pamięć zadeklarowaną dynamicznie | |
| do | konstrukcja pętli | |
| double | deklaracja zmiennej zmiennoprzecinkowej o podwójnej precyzji | |
| dynamic_cast | dokonuje rzutowania w trakcie działania programu | |
| else | alternatywny blok kodu dla wyrażenia warunkowego if | |
| enum | tworzy typ wyliczeniowy | |
| explicit | używa konstruktora tylko wtedy kiedy jego elementy są dokładnie takie (nie ma rzutowania automatycznego) | |
| export | pozwala na oddzielenie definicji zmiennych template'owych od ich deklaracji | |
| extern | mówi kompilatorowi, że te zmienne są definiowane w innym miejscu - linker zajmuje się łączeniem kodu | |
| false | stała reprezentująca wartość boolean false | |
| float | deklaracja zmiennej zmiennoprzecinkowej | |
| for | konstrukcja pętli | |
| friend | pozwala na dostęp zewnętrznej funkcji do zmiennych prywatnych w klasie | |
| goto | skok do innej części programu | |
| if | wywołuje blok kodu na w przypadku prawdziwości testu | |
| inline | optymilizuje wywołanie funkcji | |
| int | deklaracja zmiennej typu całkowitego | |
| long | deklaracja zmiennej typu long | |
| mutable | deklaracja zmiennej, która może być zmieniana przez funkcję const | |
| namespace | tworzy przestrzeń nazw | |
| new | alokuje dynamicznie pamięć dla nowej zmiennej | |
| operator | tworzy przeciążoną funkcję operatorową | |
| private | deklaruje prywatne pole klasy | |
| protected | deklaruje chronione pole klasy | |
| public | deklaruje publiczne pole klasy | |
| register | wymaga przechowywania zmiennej w rejestrze procesora | |
| reinterpret_cast | pozwala na zmianę dowolnego typu wskaźnikowego w dowolny inny typ zmiennej wskaźnikowej (zmienia typ bitów) | |
| return | wyjście z funkcji (i ew. zrócenie wyniku) | |
| short | deklaracja zmiennej typu short | |
| signed | deklaruje typ zmiennej znakowej | |
| sizeof | zwraca rozmiar zmiennej lub typu | |
| static | definiuje zmienną statyczną | |
| static_cast | pozwala na zmianę dowolnej wartości w inną | |
| struct | definicja struktury | |
| switch | wykonuje kod w zależności od wartości zmiennej | |
| template | tworzy funkcję uogólnioną | |
| this | wskaźnik do obecnego obiektu | |
| throw | wyrzuca wyjątek | |
| true | stała reprezentująca wartość boolean true | |
| try | wykonuje kod, który może wyrzucić wyjątek | |
| typedef | tworzy nową nazwę dla instniejącego typu | |
| typeid | opisuje obiekt i zwraca const type_info& | |
| typename | deklaruje typ | |
| union | struktura przypisująca różnym zmiennym ten sam obszar pamięci | |
| unsigned | deklaruje typ zmiennej nieznakowej | |
| using | pozwala na używanie elementów namespace bez konieczności wzkazywania przykażdym użyciu | |
| virtual | tworzy funkcję wirtualną, która może być nadpisana w klasie dziedziczącej | |
| void | definicja „beztypowego” typu zmiennych | |
| volatile | definiuje zmienną która może być ulotna | |
| wchar_t | deklaruje „szeroką” zmienna char | |
| while | deklaracja pętli while | |