Annex C (informative) Compatibility [diff]

C.3 C++ and ISO C++ 2011 [diff.cpp11]

C.3.1 Clause [lex]: lexical conventions [diff.cpp11.lex]

[lex.ppnumber]
Изменение: pp-number может содержать одну или несколько одинарных кавычек.
Обоснование: необходимо включить одинарные кавычки в качестве разделителей цифр.
Влияние на исходную функцию: действительный код C ++ 2011 может не компилироваться или может изменить значение в этом международном стандарте. Например, следующий код действителен как в C ++ 2011, так и в этом международном стандарте, но вызов макроса дает разные результаты, потому что одинарные кавычки разделяют символьный литерал в C ++ 2011, тогда как в этом международном стандарте они являются разделителями цифр:

#define M(x, ...) __VA_ARGS__
int x[2] = { M(1'2,3'4, 5) };
// int x[2] = { 5 };      — C++ 2011
// int x[2] = { 3'4, 5 }; — this International Standard