gpt4 book ai didi

c++ - 如何在函数 C++ 中管理内存

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

如何在返回动态分配变量的函数中管理内存?当函数返回时缓冲区会发生什么?

char * getStr(){

char * buffer = new char[12];
sprintf_s(buffer, 12 , "abcdef");

return buffer;
}

最佳答案

buffer 保持分配状态,但幸运的是您正在返回指针。

必须 delete[] 在某个时候那个指针,否则你会泄漏内存。

请注意我是如何使用 [] 的:这很重要。这会平衡您对 char数组 的分配。 (从概念上讲,运行时存储使用 new something[] 分配的数组的长度,并且 delete[] 通知运行时释放正确数量的元素。)

关于c++ - 如何在函数 C++ 中管理内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27402908/

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