Это безопасно сделать что-то вроде этого:Играя с массив символов
char* charArray = new char[10];
strcat(charArray, "qwertyuiop");
charArray[3] = '\0';
delete [] charArray;
Будет ли все быть удалены? Или что после \0
не будет? Я не знаю, оставил ли я мусор.
EDIT: должно быть strcpy
Сделайте ссылку charArray [20] и увидите это значение после удаления [] – gaussblurinc
Вызов strcat приведет к Undefined Behavior - после этого все ставки будут отключены. –
Paul R ссылается на то, что неизвестно, где первый '\ 0' находится в памяти, где указывает charArray, поскольку функциональность strcat зависит от ее обнаружения. – Eric