有一个常量 myConst 需要输出。最好的使用方法是什么:
class MyClass {
public:
const int myConst = 10;
};
int main() {
MyClass* myclass = new MyClass();
std::cout << myclass->myConst << std::endl;
delete myclass;
return 0;
}
或者
class MyClass {
public:
static const int myConst = 10;
};
int main() {
std::cout << MyClass::myConst << std::endl;
return 0;
}
他们之间有什么区别?现在,我可以注意到,在第二种情况下,由于关键字的原因,myConst 将在程序的整个生命周期中存在。在第一种情况下,由于使用了堆,使用 myclass 执行的操作会更慢