【发布时间】:2010-11-09 21:09:10
【问题描述】:
在 C++ 中,我如何从函数中返回一个对象数组?
【问题讨论】:
-
你的书怎么说?
在 C++ 中,我如何从函数中返回一个对象数组?
【问题讨论】:
通过返回一个 std::vector。
【讨论】:
myobject *myfunc()
{
return new myobject[10];
}
但请注意 - 您正在将数组的所有权转移给调用者,这可能会导致内存泄漏。
编辑:返回指向数组的指针比返回 std::vector 快得多。如果您要使用 std::vector (正如其他人所写),您可能更喜欢这样做:
void myfunc(std::vector<myobject> &result)
{
result.resize(0);
for(int i=0;i<10;++i)
result.push_back(myobject());
}
【讨论】: