我正在进行代码审查,我看到将单引号字符串赋值给枚举值:
enum
{
  Option_1 = 'a',
  Option_2 = 'b'
} ;
虽然这使得代码稍微可读(尽管枚举的含义应该与num的名字相当),但对我来说这看起来很愚蠢.
我不知道你可以这样做,在研究之后,我可以看到发生的一切都是你正在使用的"字符"的二进制值被抛入int.
在实践中有没有其他人这样做?或者这是一个不好的做法?
根据ISO C和C++标准,它绝对是完全合法的.如果将这些枚举值序列化为文本(例如CSV)文件作为那些字符,则这是一种相当合理的做法.否则,我没有看到太多意义.我想它可以带来一些调试优势,但我知道的所有好的C/C++调试器都可以将枚举值解析为相应的符号.
| 归档时间: | 
 | 
| 查看次数: | 983 次 | 
| 最近记录: |