Keywords are predefined identifiers that have special meanings to the C/C++ compiler. You can use them only as defined. Remember, the name of a program identifier cannot have the same spelling and case as a C/C++ keyword. The C/C++ language keywords are listed in Table 6-1.
Table 6-1: C/C++Keywords (Those with Leading Underscores are Microsoft-specific)
__asm
enum
__multiple_ inheritance
template
auto
__except
__single_ inheritance
this
__based
explicit
__virtual_ inheritance
thread
bool
extern
mutable
throw
break
false
naked
true
case
__fastcall
namespace
try
catch
__finally
new
__try
__cdecl
float
operator
typedef
char
for
private
typeid
class
friend
protected
typename
const
goto
public
union
const_cast
if
register
unsigned
continue
inline
reinterpret_cast
using declaration
using directive
__declspec
__inline
return
uuid
default
int
short
__uuidof
delete
__int8
signed
virtual
dllexport
__int16
sizeof
void
dllimport
__int32
static
volatile
do
__int64
static_cast
wmain
double
__leave
__stdcall
while
dynamic_cast
long
struct
xalloc
else
main
switch
You cannot redefine keywords. However, you can specify text to be substituted for keywords before compilation by using C preprocessor directives.