在C++中,我们知道函数不能返回局部变量的引用,因为当函数调用结束后,局部变量会随着函数一起被销毁,因此局部变量的引用作为返回值实际上是指向空对象。
既然如此,为什么在Java中可以返回局部变量的引用呢?虽然我现在还没有找到答案,但是有一种猜测。即,因为Java是自动回收机制,所以在方法中创建的局部变量不会随着方法调用结束而一起结束,所以,返回的引用仍然是有效的。如果是酱紫,辣么局部变量什么时候才会失效(被回收)呢?
在C++中,我们知道函数不能返回局部变量的引用,因为当函数调用结束后,局部变量会随着函数一起被销毁,因此局部变量的引用作为返回值实际上是指向空对象。
既然如此,为什么在Java中可以返回局部变量的引用呢?虽然我现在还没有找到答案,但是有一种猜测。即,因为Java是自动回收机制,所以在方法中创建的局部变量不会随着方法调用结束而一起结束,所以,返回的引用仍然是有效的。如果是酱紫,辣么局部变量什么时候才会失效(被回收)呢?