我正在尝试为我的类定义一个常量BUFFER_LENGTH,以适用于特定用例。
//1. Using preprocessor declaration
//#define BUFFER_LENGTH 12
//2.Global constant
//const int BUFFER_LENGTH = 12;
class MyRequest
{
public:
//3. Define an in-class constant
//static const int BUFFER_LENGTH = 12;
//4. Declare an enum constant
enum
{
BUFFER_LENGTH = 12
};
MyRequest()
{
strcpy(mBuffer, "TestString");
printf("Buffer: %s, BUFFER_LENGTH = %d",mBuffer, BUFFER_LENGTH);
}
private:
char mBuffer[BUFFER_LENGTH];
};
我刚刚列出了定义类常量的不同方法。
1. Using Preprocessor constant
2. Using Global constant
3. Using in-class constant
4. using an enum.
在这些方法中,哪一种是定义给定用例的常量的最佳方法?我更喜欢使用枚举常量而不是其他方法。是否有其他更好的方法我错过了吗?
谢谢。