Je ne savais pas que le C et le C++ autoriser multicharacter literal
: pas de " c "(de type int en C et char en C++), mais "tralivali' (de type int!)
enum
{
ActionLeft = 'left',
ActionRight = 'right',
ActionForward = 'forward',
ActionBackward = 'backward'
};
La norme dit:
C99 6.4.4.4p10: "La valeur d'un entier constante de caractère contenant plus d'un personnage (par exemple, "ab"), ou contenant un caractère ou d'échapper à des la séquence ne correspond pas à une un seul octet d'exécution de caractère, est la mise en œuvre définies."
J'ai découvert qu'ils sont largement utilisés dans le moteur C4. Mais je suppose qu'ils ne sont pas sûrs quand on parle de la plate-forme independend de sérialisation. Thay peut être source de confusion aussi parce que comme les cordes. Donc, qu'est-ce que multicaractère littérale de la portée de l'utilisation, sont-ils utiles pour quelque chose? Sont-ils en C++, il suffit pour la compatibilité avec du code C? Sont-ils considérés comme une mauvaise fonctionnalité goto opérateur ou pas?