在this question OP探索了一个函数的思想,该函数返回一个动态创建的对象的引用。当一个函数返回一个指针时,它是否指示我负责指针内存管理?
intArray& createArray()
{
intArray *arr = new intArray(10000, 0);
return(*arr);
}
答案是,即使面团这将编译,它会混淆使用函数的程序员。他会感到困惑,因为预计当一个函数返回一个引用时,该引用的'用户'不负责其内存管理。
我注意到有很多API方法返回指针。这是否意味着我负责清除(删除对象并将指针设置为NULL),一旦它们不再需要呢?
您需要检查该接口的文档。为了你自己,写出更好的界面! – BoBTFish
它取决于api。 – user1810087
除非文件记录不完整,否则将在文档中明确说明。 –