这两种存储整数的方法有什么区别吗?
int X = 100;
和
int *pX = new int(100);
答案 0 :(得分:3)
"这两种存储整数的方式有什么不同吗?"
是的,存在显着差异。
int X = 100;
使用值X
初始化堆栈上的变量100
,而
int *pX = new int(100);
为堆上的int
分配内存,保存在指针pX
中,并将值初始化为100
。
对于后者,您应该注意到,当不再需要堆内存时,必须解除分配内存:
delete pX;
答案 1 :(得分:2)
第一个是在堆栈上创建一个变量,而第二个是在堆上创建一个变量并创建一个指向它的指针。