我正在对某些代码进行一些重构,我看到#define
使用了很多来创建常量。从我读到的内容中我了解到,适当类型的适应性会更好。
但命名风格呢?我应该保留const
的大写字母,还是应该专门用于宏?
#define MINUTE_LEN 6
#define SECOND_LEN 6
#define MILISECOND_LEN 11
应该是:
const int MINUTE_LEN = 6;
const int SECOND_LEN = 6;
const int MILISECOND_LEN = 11;
或:
const int minuteLen = 6;
const int secondLen = 6;
const int milisecondLen = 11;
建议什么?我觉得大写有助于确定它是一个常数。
编辑:只要基于意见,可能会有客观原因支持某种风格或其他风格。正如Mark Ransom指出的那样,没有规则说宏也需要大写。但是有一个事实上的约定为宏使用大写,以避免将它们与变量名混合(之前无法检测到并导致代码损坏)。
答案 0 :(得分:1)
这取决于你想采用什么样的风格,但要保持一致。
通常,所有大写都用于宏,所以你可以选择Pascal Case / UpperCamelCase。
作为旁注,如果您知道在编译期间值不会改变,并且您可以使用> = C ++ 11进行编译,那么您应该尽可能地使用constexpr
。