[合集] 请问关于堆栈的问题# Programming - 葵花宝典
c*d
1 楼
☆─────────────────────────────────────☆
dickkie (大红椒) 于 (Sun Oct 28 23:59:16 2007) 提到:
请问在C++中,内存分配是否严格的按照此规矩:
只有用new生成的对象才在堆上,其余的一律为栈上或全局变量区
小弟有此问题,是因为教科书上说动态内存分配即堆,它的好处是能在runtime时才确
定具体需要多少对象然后生成,而动态内存分配是由new来完成,那么在此例子中:
int i;
cin >> i;
if(i==10) {
int i=3;
string str="foo";
}
请问这里if里的i和str是在栈上还是堆上?
dickkie (大红椒) 于 (Sun Oct 28 23:59:16 2007) 提到:
请问在C++中,内存分配是否严格的按照此规矩:
只有用new生成的对象才在堆上,其余的一律为栈上或全局变量区
小弟有此问题,是因为教科书上说动态内存分配即堆,它的好处是能在runtime时才确
定具体需要多少对象然后生成,而动态内存分配是由new来完成,那么在此例子中:
int i;
cin >> i;
if(i==10) {
int i=3;
string str="foo";
}
请问这里if里的i和str是在栈上还是堆上?