c++ - 为什么c++中的qsort不是通过模板实现的

标签 c++ generics

如果我们在 STL 中看到 qsort 签名

void qSort (void* base, size_t num, size_t size,
        int (*compar)(const void*,const void*));

1) 为什么没有用模板实现,类似

    template <typename T, typename Ob>
void qSort(T *base, size_t num, size_t size,
               bool (*compar) (const TOb& left,const TOb& right) )

2) 每种方法有什么优势/劣势吗?

3) 如何使用 C++ 在工业级代码中实现通用函数?

最佳答案

qsort 来自没有模板的 C。如果你想在 C++ 中进行通用排序,请使用 std::sort

关于c++ - 为什么c++中的qsort不是通过模板实现的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33831718/

相关文章:

c++ - 如何比较作为模板类传递的字符串?

c++ - 函数返回引用,失败时返回什么?

c# - 通用 InBetween 函数

重载方法的 Java 泛型问题

c++ - 将属性表应用到空的 C++ Visual Studio 项目

c++ - CGAL Voronoi 图 : Link input sites to faces

c# - 我应该如何清除通用静态类中的字段?

java - 需要帮助理解此通用声明

scala - 如何为 Scala 中的任何集合创建一个通用的隐式类?

c++ - boost::noncopyable_::noncopyable 模拟移动构造函数/赋值