#cpp
Будет ли корректно работать код?
void *ptr_1;
long *ptr_2;
*ptr_2=new long[10];
(long*)ptr_1=ptr_2;
delete[] ptr_2;
Ответы
Ответ 1
Во-первых, в том виде что вы привели, этот код даже компилироваться не будет, вот так он должен выглядеть: void *ptr_1; long *ptr_2; ptr_2 = new long[10]; ptr_1 = ptr_2; delete[] ptr_2; Во-вторых, после того как выполнится delete[] ptr_2;, указатель ptr_1 будет указывать на высвобожденную память, соответственно, любая попытка записи/чтения в/из нее приведет к ошибке.
Комментариев нет:
Отправить комментарий