gpt4 book ai didi

qt - 如何反转 QList?

转载 作者:行者123 更新时间:2023-12-01 19:29:19 25 4
gpt4 key购买 nike

我明白了qCopy ,和 qCopybackward但似乎都不让我以相反的顺序复印。 qCopybackward 仅以相反的顺序复制它,但使该死的元素保持相同的顺序!我想做的就是以相反的顺序返回列表的副本。 必须有一个函数可以做到这一点,对吗?

最佳答案

如果您不喜欢 QTL,只需使用 STL。他们可能没有 Qt 风格的 API,但 STL API 非常稳定:) 也就是说,qCopyBackward 只是 std::copy_backward,所以至少他们'重新一致。

回答您的问题:

template <typename T>
QList<T> reversed( const QList<T> & in ) {
QList<T> result;
result.reserve( in.size() ); // reserve is new in Qt 4.7
std::reverse_copy( in.begin(), in.end(), std::back_inserter( result ) );
return result;
}

编辑 2015-07-21: 显然(或者可能不是),如果你想要一句台词(人们似乎更喜欢这样,看看相对的五年后不同答案的赞成票),并且您有一个非const list,上面的内容折叠为

std::reverse(list.begin(), list.end());

但我想索引摆弄东西更有利于工作保障:)

关于qt - 如何反转 QList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1339121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com