我试图检查The C++ Classes Tutorial,但是,我无法找到以下答案。考虑一个简单的实现合并的排序使用迭代器作为参数:返回矢量的新实例
std::vector<int> mergesort(std::vector<int>::iterator begin, std::vector<int>::iterator end)
{
if (end - begin <= 1)
{
std::vector<int> c(begin, end);
return c;
}
int mid = (end - begin)/2;
std::vector<int> a = mergesort(begin, begin + mid);
std::vector<int> b = mergesort(begin + mid, end);
return merge(a, b);
}
在递归,在那里我写std::vector<int> c(begin, end)
然后返回向量的基本情况,我想,而不是写return std::vector<int>::vector(begin, end)
,就是创造并将该向量返回到一行,而不是被迫首先对其进行本地化。
我该如何解决这个问题,因为我不能直接按建议使用构造函数?
在此先感谢!
完美的,我不知道这是正确的语法。谢谢!注意:时间限制后将被标记为答复。 – lassekokholm 2015-02-23 09:49:13