C ++中变量初始化的区别
这个问题在这里已经有了答案:
“这两种存储整数的方式有什么区别吗?”
是的,存在显着差异。
int X = 100;
使用值100
初始化堆栈上的变量X
,while
int *pX = new int(100);
为堆中的int
分配内存,保存在指针pX
,并将该值初始化为100
。
对于后者,您应该注意到,有必要在不再需要时释放堆内存:
delete pX;
第一个是在栈上创建一个变量,而第二个是在堆上创建一个变量并创建一个指向它的指针。
链接地址: http://www.djcxy.com/p/96535.html上一篇: Difference of variable initialization in C++
下一篇: What is the best way to manage the lifetime of an object variable?