Reading through the C++ MSDN is quite scary. There aren't too many keywords in ANSI C++, I can list them here. Keep in mind there is also the Standard Template Library, plus each compiler adds some of their own keywords, Then there is the actual API {MFC (Microsoft Foundation Classes), DirectX, SDL, OpenGL/ML, and the list goes on}
ANSI C++ Keywords (does not include library and class names)
keyword - Basic description
=====================================================================
asm - translate assembly code
auto - allocate automatic variable
break - exit current loop or switch
case - define targe for switch
catch - define exception handler
class - declare user-defined type
const - prevent changes to variable
continue - got to next iteration of loop
default - define "else" target for switch
do - execut do loop repeatedly
else - execute alternative
enum - define list of sequential constants
explicit - prevent conversion
extern - look for external definition
for - execute loop a set number of times
friend - enable access to class
goto - go to statement
if - execute conditionally
inline - place function code inline
main - program entry point
mutable - enable changes to const
namespace - create seperate namespace
operator - Overload operator behavior
private - limit member access
protected - limit access to class hierarchy
public - enable member access
register - pllace variable in CPU register
return - exit function (with return value)
static - allocate in data segment
struct - declare stucture class
switch - select between alternatives
template - use generalized type
this - pointer to current object
throw - raise or pass exception
try - define exception-handling block
typedef - define alias for a type
union - declare class with overlapping data
using - enable direct use of namespace
virtual - defer resolution until runtime
void - declare empty type
volatile - require data refresh
while - execute loop repeatedly
=====================================================================
Data Types
=====================================================================
bool - true/false value
char - 1-byte character
unsigned char - unsigned 1-byte integer
signed char - signed 1 byte integer
int - signed ineger
unsigned int - unsigned integer
short - signed 2-byte integer
unsigned short - unsigned 2-byte integer
long - signed 4-byte integer
unsigned long - unsigned 4-byte integer
float - single-precision floating point
double - double-precision floating point
long double - extra-long floating point
wchar_t - wide-character value
=====================================================================
operators
=====================================================================
() function call func(args)
[] array access array[int]
-> member access ptr->member
. member access obj.member
:: scope resolution class::symbol::symbol
! logical negation !int
~ bitwise negation ~int
++ increment ++lval or lval++
-- decrement --lval or lval--
- arithmetic negation -num
* pointer dereferencing *ptr
& adress &lval
sizeof get size of data sizeof(expr) or sizeof(type)
delete remove data delete ptr or delete [] ptr
typeid get type info typeid(expr)
casts type cast
.* pointer to member obj.*ptr_mem
->* pointer to member ptr->*ptr_mem
* multiplication num * num
/ division num / num
% modulus(remainder) int % int
+ addition expr + expr
- subtraction expr-expr
<< bitwise left shift expr << int
>> bitwise right shift expr >> int
< less then
<= less than or equal to
> greater then
>= greater than or equal to
== Is equal to
!= is not equal to
& bitwise AND
^ bitwise or (XOR)
| bitwise or
&& logical AND
|| logical OR
?: Condtional operator
= asignment
+= adddition assignment
-= subtraction assignment
*= multiplication assignment
/= division assignment
%= modular-division assignment
>>= right-shift assignment
<<= left shift assignment
&= Bitwise-AND assignment
^= Bitwise-XOR assignment
|= Bitwise or assigment
, comma operator (returrn expr2) expr1, expr2
---------------------------------------------------------------------
sizeof get width of data structure
new dynamically allocate data
delte release allocated data
typeid get type information
=====================================================================
Cast Operators
=====================================================================