C++中使用圆括号和方括号创建动态数组的区别

Difference between using parenthesis and sqaure brackets for creating dynamic array in C++

动态数组在C++中是这样分配的。

int *arr = new int(5);
int *arr = new int[5];

这几种方式有什么区别?或者它们完全一样吗?

仅当您使用 [] 时才创建数组。如果您没有使用 [],那么您就没有创建数组。

int *arr = new int(5); 分配一个 int 并赋予它 5.

的值

int *arr = new int[5]; 分配一个包含 5 个 int 的数组,每个元素都没有指定值。