【发布时间】:2011-01-12 10:37:33
【问题描述】:
这段代码在 c++ 中是否正确?
list<int> makelist(int litem)
{
list<int> newList;
newList.push_front(litem);
return newList;
}
按值返回列表(#include <list>)是否会产生问题?
【问题讨论】:
-
这样做没有问题,问题在于返回一个指针或对将消失的本地对象的引用。这将复制列表,或者至少表现得好像它有
-
如果我们不知道您的
list类型,我们如何知道这是否正确? -
我不知道“#include 列表”是什么意思。
-
@sbi:应该不管类型是什么。无论类型是什么,代码都应该可以工作(除非返回的类型有错误,但这不是 makelist() 的问题)。
标签: c++ pass-by-value