常量用来 增强程序的可读性和可维护性,如果这一点做不到 ,这些东西就是被用滥了
下面的常量,后面加了* 号的 是 我写的,
问题:像这些 很简单的 ,而且 没有 实际意义的 东西不要搞成常量了,敲一大堆大写字母。
当然如果你的字符串有格式 要拼出来大可以写一个 注释: yyyy-mm-dd “-”   然后一切都明白了
const char CONST_CHAR_COMMA   = ',';   //  逗号  //* 逗号字符
const string CONST_STRING_COMMA = ",";   //  逗号  //* 次字符串是字符
const string CONST_EMPTY_CHAR   = "";   //* 此语句应该是说 EMPTY_STRING
const string CONST_SEPARATE_CHAR = "_"; // 分割符  //*这一句应该是说 下划线
下面的 比较严重,常量 引用 常量, 贴到代码里,鬼才知道这是什么呢,反正我是看不懂
看不出常量的类型,用的时候还是要翻头文件,
const int CONST_SHOWTYPE_GRID = ST_GRID;
const int CONST_SHOWTYPE_LINE = ST_LINE;
const int CONST_SHOWTYPE_BAR  = ST_BAR;
const int CONST_SHOWTYPE_PIE  = ST_PIE;
const int CONST_SHOWTYPE_MAP  = ST_MAP;

过多了使用常量 有以下几种坏处:
如果一个模块使用了此头文件,常量将被链接到所有使用此头文件的代码中,如果此常量文件很多——哪怕你只是用了 一条, 也许你就要加 好多K的可执行文件大小,如果模块很多,更严重。
不要把什么都随意写成常量, 实际用着方便才是硬道理。
本来是为了容易维护, 等常量文件足够多, 足够大的时候, 你再也不会谈可维护性, 一个字段改变了,你还是要编译器来为你搜索。
将常量尽量局部化, 如果本模块使用,甚至只有本 文件(cpp)使用,就限制在其中好了。很多常量不是全局的都需要知道,自己模块内部的,一定不要让别人看见,除非 关键的 全局常量。
常量要放在它应该在的场景,小心慎用。
不要看着书上说—— 应该怎么怎么样才好。经验不是万能的,经验是在一定的条件和过程下产生的,如果不加消化的滥用, 将来会很痛苦的, 总有一天你会记不清那是什么,为什么要定义那个东西,注释有时候只是对写它的人有用,别人根本看不懂你的注释——因为时过境迁,很多东西不再需要,留下来还不敢删除了,只能是 代码中的 垃圾