gpt4 book ai didi

c++ - 如何尝试读取未分配的内存

转载 作者:行者123 更新时间:2023-11-28 00:12:29 25 4
gpt4 key购买 nike

基本上我想问的是:

char *buffer;
buffer = (char*) malloc (sizeof(char)*bytes);
free(buffer);
//Somehow read buffer if possible,if it failed give return value ,but not crash or stop the whole program
//(examples as Segmentation fault and so on)

是否可以做到这一点?

最佳答案

当然可以!这只是一个糟糕的想法....

您可以释放 buffer,但要为未定义的行为 做好准备,其中包括段错误和其他您不想要的疯狂事情。我有一些建议:

  1. 如果这真的是 c++,你不应该使用 malloc 你应该使用 newdelete 或者更好的 std::stringstd::vector
  2. 您可能以错误的方式解决了这个问题,您不应该尝试读取已经释放的内存,而应该保留您认为有必要读取的内存。
  3. 关于调试,使用调试器,例如 gdb ...

关于c++ - 如何尝试读取未分配的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32275428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com