在声明和使用静态 const 积分时,我发现使用我正在使用的对象引用来访问变量是方便和自然的,而不是使用类名完全限定它。我想知道这是否有缺点?举个例子:
class MyLongClassNameIdRatherNotHaveEverywhere {
public:
static const int Len = 6;
//...
void otherInterestingThings();
void someWorkToDo();
};
int main() {
MyLongClassNameIdRatherNotHaveEverywhere *lcn = new MyLongClassNameIdRatherNotHaveEverywhere;
lcn->someWorkToDo();
cout << "the length is: " << lcn->Len << endl;
delete lcn;
return 0;
}
请注意lcn->Len
... 它实际上是一个常量,实际上如果lcn
为 null,lcn->Len
仍然可以正常编译和运行。我本来可以写MyLongClassNameIdRatherNotHaveEverywhere::Len
在那里,这无疑使(至少对我而言)这是一个常数更明显。还有其他缺点吗?