基本数据类型存放在哪?
基本类型的变量存在栈里或者堆里不是由"大小可知,生存期可知"就能确定了。关键是上下文。
比如
void func(){
int a = 3;
}
这自然是存在栈里的。局部方法嘛。
而
class Test{
int a = 3;
}
这就肯定是随对象放到堆里的。
因此,不要孤立的看到基本类型就说放到栈里,看到引用类型就说放到堆里。区分引用变量和对象本身特别重要。
本文探讨了基本数据类型在不同上下文中存储的位置问题。通过具体示例说明了局部变量通常存储在栈中,而类成员变量则随对象一起存储在堆上。强调了区分引用变量与对象的重要性。
基本数据类型存放在哪?
基本类型的变量存在栈里或者堆里不是由"大小可知,生存期可知"就能确定了。关键是上下文。
比如
void func(){
int a = 3;
}
这自然是存在栈里的。局部方法嘛。
而
class Test{
int a = 3;
}
这就肯定是随对象放到堆里的。
因此,不要孤立的看到基本类型就说放到栈里,看到引用类型就说放到堆里。区分引用变量和对象本身特别重要。
198

被折叠的 条评论
为什么被折叠?