#note some are redundant with info in other places
Keywords have fixed meaning defined by the C++ standard and cannot be used as identifiers. It is illegal to redefine keywords using the preprocessor in any translation unit that includes a standard library header. However, keywords lose their special meaning inside attributes.
The full list of keywords is as follows:
[alignas](<http://stackoverflow.com/documentation/c%2B%2B/9249/alignment/17909/controlling-alignment>)
(since C++11)[alignof](<http://stackoverflow.com/documentation/c%2B%2B/9249/alignment/17475/querying-the-alignment-of-a-type>)
(since C++11)[asm](<http://stackoverflow.com/documentation/c%2B%2B/4891/keywords/18214/asm>)
auto
: since C++11, before C++11[bool](<http://stackoverflow.com/documentation/c%2B%2B/7839/basic-type-keywords/18416/bool>)
[break](<http://stackoverflow.com/documentation/c%2B%2B/7841/iteration/18476/break>)
[case](<http://stackoverflow.com/documentation/c%2B%2B/7837/flow-control/18489/case>)
[catch](<http://stackoverflow.com/documentation/c%2B%2B/7837/flow-control/18492/catch>)
[char](<http://stackoverflow.com/documentation/c%2B%2B/7839/basic-type-keywords/18494/char>)
[char16_t](<http://stackoverflow.com/documentation/c%2B%2B/7839/basic-type-keywords/18501/char16-t>)
(since C++11)[char32_t](<http://stackoverflow.com/documentation/c%2B%2B/7839/basic-type-keywords/18502/char32-t>)
(since C++11)[class](<http://stackoverflow.com/documentation/c%2B%2B/7838/type-keywords/18504/class>)
[const](<http://stackoverflow.com/documentation/c%2B%2B/7840/variable-declaration-keywords/18509/const>)
[constexpr](<http://stackoverflow.com/documentation/c%2B%2B/3899/constexpr>)
(since C++11)[const_cast](<http://stackoverflow.com/documentation/c%2B%2B/3090/explicit-type-conversions/11225/casting-away-constness>)
[continue](<http://stackoverflow.com/documentation/c%2B%2B/7841/iteration/18512/continue>)