C & C++ Keywords

This is a list of reserved keywords in C & C++.
Since they are used by the language, these keywords are not available for use by programmers.

* denotes C++ keywords.

KeywordDescription
asminsert an assembly instruction
auto declare a local variable
bool declare a boolean variable
break break out of a loop
case a block of code in a switch statement
catch * handles exceptions from throw
char declare a character variable
class * declare a class
const declare immutable data or functions that do not change data
const_cast * cast from const variables
continue bypass iterations of a loop
default default handler in a case statement
delete * make memory available
do looping construct
double declare a double precision floating-point variable
dynamic_cast * perform runtime casts
else alternate case for an if statement

enum

create enumeration types
explicit only use constructors when they exactly match

export *

allows template definitions to be separated from their declarations
extern tell the compiler about variables defined elsewhere
false * the boolean value of false
float declare a floating-point variable
for looping construct
friend * grant non-member function access to private data
goto jump to a different part of the program
if execute code based on the result of a test
inline * optimize calls to short functions
int declare a integer variable
long declare a long integer variable
mutable * override a const variable
namespace * partition the global namespace by defining a scope
new * allocate dynamic memory for a new variable
operator * create overloaded operator functions
private * declare private members of a class
protected * declare protected members of a class
public * declare public members of a class
register request that a variable be optimized for speed
reinterpret_cast * change the type of a variable
return return from a function
short declare a short integer variable
signed modify variable type declarations
sizeof return the size of a variable or type
static create permanent storage for a variable
static_cast * perform a nonpolymorphic cast
struct define a new structure
switch execute code based on different possible values for a variable

template *

create generic functions
this * a pointer to the current object
throw * throws an exception
true * the boolean value of true
try * execute code that can throw an exception
typedef create a new type name from an existing type
typeid * describes an object
typename * declare a class or undefined type
union a structure that assigns multiple variables to the same memory location
unsigned declare an unsigned integer variable
using * import complete or partial namespaces into the current scope
virual * create a function that can be overridden by a derived class
void declare functions or data with no associated data type
volatile warn the compiler about variables that can be modified unexpectedly
wchar_t * declare a wide-character variable
while looping construct