我有一个动态数组。
int* array = new int[size]
我正在使用Qt库在C ++ 11中开发应用程序。
我可以这样使用qSort
QtAlgorithms.h
:
qSort(array, array+size-1)
我不确定,因为参数需要一种RandomAccessIterator
这是否意味着任何指针?
答案 0 :(得分:0)
qSort()
自Qt 5.2起已被弃用。引用ChangeLog:
对于STL,对于构建和使用Qt不再是可选的, QtAlgorithms的一部分不再有意义,因此已经 不推荐使用。
替换在STL中可用,并且通常有很多 更好的性能,但并非全部都立即与源兼容 案件。例如,qLess或qSwap的特殊化意味着 从qSort直接连接到std :: sort可能是不可能的,因为 std :: sort不使用其中任何一个;可能的解决方法是... [请参阅 链接以获取更多信息]。
请注意,正如ChangeLog所提到的,在某些情况下,琐碎的查找/替换是不够的。
有关std::sort()
和qSort()
的速度差异的讨论,请参见here。
这些现在只是警告,但将likely be errors与Qt 6一起使用。