Programme crashes while deallocating a character array

后端 未结 6 1630
刺人心
刺人心 2021-01-21 14:36

When I run the .exe being created with the below code in debug mode , it shows some assertion failure and the programme crashes But when i run the same exe created from the rele

6条回答
  •  深忆病人
    2021-01-21 15:04

     char *buf  = new char[6];   //pre-allocated buffer
     strncpy(buf, "hello", 6);
     delete [] buf;
    

    buf = "hello"; would change the buf's value, from a pointer to new char[6] To a pointer point to "hello", a block of memory not in heap.

提交回复
热议问题