Я не знал, что C и C++ позволяют multicharacter literal
: не 'c' (интервала типа в C и символа в C++), но 'tralivali' (интервала типа!)
enum
{
ActionLeft = 'left',
ActionRight = 'right',
ActionForward = 'forward',
ActionBackward = 'backward'
};
В стандарте говорится:
C99 6.4.4.4p10: "Значение целочисленной символьной константы, содержащей больше чем один символ (например, 'ab'), или содержащей последовательность символов или escape-последовательность, которая не отображается на однобайтовый символ выполнения, определяется реализацией".
Я нашел, что они широко используются в механизме C4. Но я предполагаю, что они не безопасны, когда мы говорим о сериализации платформы-independend. Thay может сбивать с толку также, потому что похожи на строки. Таким образом, каков объем мультисимвольного литерала использования, действительно ли они полезны для чего-то? Они находятся в C++ только для совместимости с кодом C? Они считаются плохой функцией как goto оператор или нет?