首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++和java中的引用类型在内存中是如何分配的

2013-02-04 
c++和java中的引用类型在内存中是怎么分配的在c++中,我认为只有new出来的东西才放在栈中,没有new出来的东

c++和java中的引用类型在内存中是怎么分配的
在c++中,我认为只有new出来的东西才放在栈中,没有new出来的东西,一般放在栈中,即使是引用数据类型,如
student stu;这句话。stu会在栈中分配内存。
而在java中,只要是引用数据类型,都放在堆中,都需要用到new。比如说数组,字符串。不知道是不是这样啊。 c++ java
[解决办法]
1. c++中,有堆,栈,全局空间,寄存器之分。 student stu;其中stu未必在栈上,比如可以在全局空间。
2. Java中,内存分配有JVM的实现决定,不必区分,也区分不了。
[解决办法]
你现在应该多写代码,去了解。
Java建立一个对象时从两个地方都分配内存,在堆中分配的内存实际建立这个对象,
在堆栈中分配的内存只是一个指向这个堆对象的指针(引用)。
楼主不要把 C++的引用和java的引用 搞混。 要是真要比,C++的指针倒是和Java的引用更像

热点排行