The C++ Keywords must be in your knowledge because you can not use them as a variable name.

C++ Keywords List

You can't use keyword as identifier in your C++ programs, its reserved words in C++ library and used to perform an internal operation.

asm else new this
auto enum operator throw
bool explicit private true
break export protected try
case extern public typedef
catch false register typeid
char float reinterpret_cast typename
class for return union
const friend short unsigned
const_cast goto signed using
continue if sizeof virtual
default inline static void
delete int static_cast volatile
do long struct wchar_t
double mutable switch while
dynamic_cast namespace template

In addition, the following words are also reserved:

And bitor not_eq xor
and_eq compl or xor_eq
bitand not or_eq

You should also try to avoid using names from the C++ library, e.g. swap, max.