在用enum定义错误码时, 最好显式赋值

来源:互联网 发布:php用户注册系统源码 编辑:程序博客网 时间:2024/06/06 01:20

        我们看看下面这段代码:

#include <iostream>#include <iostream>using namespace std;typedef enum{        E1 = -100,        E2,        E3,        E4,}ErrorType;int main(){        return 0;}
       这段代码有两个非常不好的地方:

       1. 如果之后的程序员在E2和E3中间插入一种类型, 那么后面的错误码都错了。 别跟我说这种事不会发生。

       2. 如果程序除了问题, 比如说报了-98的错误码, 那么在代码工程中搜不到-98这样的字符。 这种事太常见了, 客户、用户经常反馈。


       我算是受过以上两个苦的, 所以大力建议在用enum定义错误码时, 最好显式赋值, 如下:

#include <iostream>using namespace std;typedef enum{        E1 = -100,        E2 = -99,        E3 = -98,        E4 = -97,}ErrorType;int main(){        return 0;}

       代码习惯无小事, 务必注意。 也欢迎大家提出不同角度的看法。





1 0