我似乎错误地解释了C++中对象的生命范围。如果您要考虑以下几点:C++对象生命范围
class MyClass{
public:
int classValue;
MyClass(int value){
classValue = value;
}
static MyClass getMyClass(int value){
MyClass m1 = MyClass(value);
return m1;
}
};
int main() {
MyClass m1 = MyClass(3);
cout << m1.classValue << endl;
m1 = MyClass::getMyClass(4);
cout << m1.classValue << endl;
return 0;
}
此输出:
3
4
而且我认为,当M1得到了非动态对象,已getMyClass的“在堆栈上”创建函数,我试图从它得到一个值是行不通的,因为这个对象将会死掉。有人能启发我吗?不要饶恕我任何细节!
示例代码甚至不进行编译。 main()尝试使用未声明的默认构造函数实例化MyClass。我甚至不会提到类在构造函数中存在的明显错误。投票结束这个问题作为一个错字。 –
好像你误解了“课堂”。也许我错了,但我不明白为什么你真的需要一个类。 –
是的..对不起回合.. ..有更多的东西在那里,并没有正确删除它.. – Jakub