Apple 在 C 中引入了一个闭包作为“block”的名称。 我应该管理 block 的内存吗?如果是这样,我必须做什么?
最佳答案
就像纯 C 中具有函数作用域的变量一样,函数中的 block 文字具有自动存储持续时间。当您将 block 字面量视为指针类型时,您会发现可能会出错的地方:当您从函数返回 block 时,您返回的是指向本地内存的指针,该指针不再有效。
解决方案是每当你想返回一个 block 时使用Block_copy()
函数,当你不再需要它时使用Block_release()
。
更多信息请参见 this tutorial有单独的部分介绍 C 中的 block 。
关于c - 我应该如何管理 C block 功能的内存? (苹果扩展),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3500100/