版权声明:未经博主允许,禁止转载 https://blog.csdn.net/Think88666/article/details/84203866
今天发现了这样一个问题:
char *arr = new char[10];
strcpy(arr, "wangzhaaaa");
delete []arr;
执行这段代码将会报错,因为strcpy复制char*时会复制'\0',所有在new 字符数组的时候应该预留'\0'的空间,否则到时候delete的时候会报错!代码改成这样即可
char *arr = new char[11];
strcpy(arr, "wangzhaaaa");
delete []arr;
这是个比较严重的问题