class A {
public :
int num = 10;
};
vector<int>& get() {
vector<int> i{ 1,2 };
return i;
}
A& getA() {
A a;
a.num = 8;
return a;
}
int main()
{
vector<int> vec(2);
vec = get();
std::cout << vec.size() << endl;
A aa = getA();
cout << aa.num << endl;
}
为什么输出vec.size()是0? 返回的getA()返回的也是局部变量的引用为什么得到了正确的值
这个未定义行为(Undefined behavior)。
未定义行为什么都可能发生。