在这个问题中,OP 探讨了返回动态创建对象的引用的函数的想法。
intArray& createArray()
{
intArray *arr = new intArray(10000, 0);
return(*arr);
}
答案是即使这样可以编译,它也会让使用该函数的程序员感到困惑。他会感到困惑,因为预计当函数返回引用时,该引用的“用户”不负责其内存管理。
我注意到有很多返回指针的 API 方法。这是否意味着一旦不再需要它们,我负责清除(删除对象并将指针设置为 NULL)它们?