>我有一个动态数组。
int* array = new int[size]
我正在使用Qt库在C++11中开发一个应用程序。
我可以这样使用 QtAlgorithms.h
中的qSort
吗:
qSort(array, array+size-1)
我不确定,因为这些参数需要一种RandomAccessIterator
这是否意味着任何指针?
qSort()
自Qt 5.2起已被弃用。引用更新日志:
随着STL不再是构建和使用Qt的可选内容,一个数字 的部分 QtAlgorithm 不再有意义,因此 荒废的。
STL 中提供了替代品,并且通常有很多 更好的性能,但并非立即与源代码兼容 例。例如,qLess或qSwap的专业化意味着 可能无法从 qSort 直接移植到 std::sort,因为 std::sort 不使用其中任何一个;一种可能的解决方法是...[见 链接以获取更多信息]。
请注意,正如 ChangeLog 所提到的,在某些情况下,简单的查找/替换是不够的。
有关std::sort()
和qSort()
速度差异的一些讨论,请参阅此处。
这些现在只是警告,但可能是Qt 6的错误。