C ++:方法返回列表或引用作为参数传递的列表:哪个更好

时间:2015-08-15 11:07:43

标签: c++

考虑填充列表的方法的两个框架实现:

方法一:方法返回一个列表。

std::list<std::string> fillList()
{
    std::list<std::string> result;

    // fill result

    return result;
}

呼叫:

std::list<std::string> lst = fillList();

方法二:方法传递参考列表:

void fillList(std::list<std::string>& result)
{     
    // fill result

}

呼叫:

std::list<std::string> lst;
fillList(lst);

对我来说,方法一(返回列表)似乎更优雅,但似乎效率较低,因为必须在方法返回时复制结果,这不会很好,因为返回的列表可能非常大。我为示例选择一个列表而不是一个简单的对象,因为列表大小可能会有很大差异。

什么是最好的实践?

0 个答案:

没有答案