笔记、为何将对象释放后、依旧可以引用?

存在下面的一个类

很简单的一个类、那么有下面的测试

首先这里在栈里创建了一个指向TTest类实例的指针k、但是这个实例是放在堆里的、

前三句应该没什么特别的、

从第一句开始、再次尝试显示k.Str返回空字符串、这也比较能想得通、因为已经把k指向空指针、自然会返回空(我觉得更应该是内存访问报错猜对)、最神奇的是最后一句、为何k.GetRnd这个函数还能返回值呢?对象已经被释放、并且k已经变成空指针、那么这个函数他又是如何找到的呢?另外这个函数到底是放在堆还是放在栈里?

My New Blog : http://blog.fdlife.info/ The more you know, the less you believe.
原文地址:https://www.cnblogs.com/ForDream/p/1924460.html