考虑填充列表的方法的两个框架实现:
方法一:方法返回一个列表。
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);
对我来说,方法一(返回列表)似乎更优雅,但似乎效率较低,因为必须在方法返回时复制结果,这不会很好,因为返回的列表可能非常大。我为示例选择一个列表而不是一个简单的对象,因为列表大小可能会有很大差异。
什么是最好的实践?