1

In preparing our source code to eventually move up to C++11 from C++03, I'd like to rename any tokens that inadvertently collide with new reserved words in C++11 that were not present in C++03.

I know there is the new reserved word final in C++11, are there other new reserved words that I should look for in our C++03 code base and rename?

Other than reserved words, are there any other changes that are made in C++11 wherein valid C++03 code is no longer valid in C++11?

While I'm at it, are there any changes that might be required for C++14?

WilliamKF
  • 41,123
  • 68
  • 193
  • 295
  • 1
    `final` is not reserved; it is only a keyword in a certain position, where the token `final` wasn't legal prior to C++11. It is probably a good idea to avoid it anyhow (as primitive syntax highlighting will get confusing, among other things), but it will not break your code base. What, exactly, are you concerned about? – Yakk - Adam Nevraumont Nov 07 '15 at 20:23
  • 1
    Note [final and override are identifiers with special meaning](http://stackoverflow.com/q/30404388/1708801). – Shafik Yaghmour Nov 07 '15 at 20:23
  • @ShafikYaghmour: there is a full list in http://stackoverflow.com/a/25326530/2564301. Apart from that, it ought to be quite trivial to find using any search engine ... – Jongware Nov 07 '15 at 20:34
  • @Jongware sure, but if this was asked before it then this should be closed as duplicate of that and not the one above. – Shafik Yaghmour Nov 07 '15 at 20:57

1 Answers1

3
alignas
alignof
char16_t
char32_t
constexpr
decltype
default
export
noexcept
nullptr
static_assert
thread_local
using

override and final are reserved only in certain contexts.

http://en.cppreference.com/w/cpp/keyword

Emil Laine
  • 41,598
  • 9
  • 101
  • 157