看看我的代码:
#include <iostream> using namespace std; class MyClass{ public: char ch[50] = "abcd1234"; }; MyClass myFunction(){ MyClass myClass; return myClass; } int main() { cout<<myFunction().ch; return 0; }
我不明白我的返回值存储在哪里?它存储在堆栈中吗?在堆里?在我的程序完成之前它会保留在内存中吗?
如果它存储在堆栈中,我可以确定我的类值永远不会改变吗?
请解释这些回报的机制。如果返回结构与返回类不同?