我不知道C和C++允许multicharacter literal
:不是C(C中的int类型和C++中的char),而是"TrayalVi"(类型int)!
enum
{
ActionLeft = 'left',
ActionRight = 'right',
ActionForward = 'forward',
ActionBackward = 'backward'
};
标准说:
c99 6.4.4.4p10:"一个 包含以下内容的整数字符常量 多于一个字符(例如,‘ab’), 或包含字符或转义 序列,该序列不映射到 单字节执行字符,为 实现定义的."
我发现它们在C4 engine个国家被广泛使用.但我认为,当我们谈论独立于平台的序列化时,它们并不安全.它们可能会让人困惑,因为它们看起来像字符串.那么多字符文字的使用范围是什么,它们对什么有用吗?它们是C++中的与C代码兼容的吗?作为goto操作员,它们是否被认为是一个不好的特性?