c++成员变量释放问题

问题遇到的现象和发生背景

我是初学者
刚看了b站的一个c++教程
下图是他讲的内容

img

但是我自己试了一下结果和他讲的不一样。。

img

img


这是什么原因,那个教程讲的错的吗

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

没错啊,看我的
代码:

#include<iostream>
using namespace std;

int* fun() {
    int a = 10;
    return &a;
}

int main()
{
    int* p = fun();
    cout << *p << endl;
    cout << *p << endl;
    cout << *p << endl;

}

结果

img

首先要去理解这里怎么释放,何为释放?
弄清楚这点需要看他的汇编结果。
不知道这些,就凭书本上的所谓理论来理解,得出的结果往往是错误。