char* myChar=new char[20];
char* myChar2="123";
strcpy(myChar, myChar2);
...
delete[] myChar;
我的问题是,如果
strcpy
将'\0'
放在"123"
的末尾,那么delete[] myChar
将仅删除前3个字符,而不能删除其余的myChar
吗?谢谢...
最佳答案
不,只要您将相同的地址传递给delete []
返回的new []
,delete []
就会取消分配new []
分配的所有内存。
它只是正确地记住分配了多少内存,而不管该内存中放置了什么。