奇了个怪,执行这个语句块后难道没有释放对象~~~
代码如下:
[解决办法]
指针指向无效对象
你这里是未定行为
结果不可靠
意思就是
可以看起来没问题
也可以出现类似 修改其他对象 程序崩溃 的错误
看编译器喜欢怎么做
[解决办法]
作用域只是 C++ 中的概念.
栈其实一直都是那个栈, 不存在分配释放的问题, 只是把栈用于哪个变量.
即使在函数退出后, 它局部变量的内存仍然有效, 只是编译器随时会把它用作其他用途. 你继续使用的话行为未定义. 未定义不代表出错.
[解决办法]
你这几行代码、编译器优化后最多使用2,3个寄存器 寄存器的值没变动。继续使用当然可行.只是在逻辑或者内存起伏比较大的情况下(后续情况肯定就会错了)
{
}
中的东西的作用域于肯定是在{}中,这点你不用怀疑