我需要"新"一个数组才能在以后进行memset吗?在c ++中

And*_*ind 0 c++ scope new-operator

例如

我有炭 str[1024];

我会memset(str,0,1024);稍后再做

这个可以吗,?或者我需要这样做:

char* str = new char[1024];
Run Code Online (Sandbox Code Playgroud)

谢谢.

Sir*_*tor 5

两者都分配空间,因此要么使用memset.两者之间的区别在于分配空间的位置.

char str[1024];
Run Code Online (Sandbox Code Playgroud)

在字符串上分配字符串,一旦超出范围就会消失.

char* str = new char[1024];
Run Code Online (Sandbox Code Playgroud)

在堆上分配字符串并将永远存在,直到您删除[]它.