C++中变量初始化的差异

Difference of variable initialization in C++

本文关键字:初始化 变量 C++      更新时间:2023-10-16

这两种存储整数的方法有什么区别吗?

int X = 100;

int *pX = new int(100);

"这两种存储整数的方法有什么区别吗?"

是的,有一个显著的区别。

 int X = 100;

使用值100初始化堆栈上的变量X,而

int *pX = new int(100);

为堆上的int分配内存,保存在指针pX中,并将值初始化为100

对于后者,您应该注意到,当不再需要时,有必要释放堆内存:

 delete pX;

第一个是在堆栈上创建变量,而第二个是在堆上创建变量并创建指向它的指针。