Литерал мультисимвола C++

Я не знал, что 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 оператор или нет?

40
задан topright gamedev 18 October 2010 в 16:03
поделиться