|

楼主 |
发表于 2005-4-24 14:44:10
|
显示全部楼层
Post by cppof286
qsort()函数是C库函数,为了保证通用只能使用 void*; C++ 自己有自己的 std::sort() 泛型算法支持快速排序,它使用的是 iterator。
vector::iterator 在实现上可能表现为一个指针(至少据我所知 GCC 2.95.* 是如此),但是在概念上我们应当将其抽象为一个“迭代器”(注意不要与相对底层的“指针”概念混淆起来)。从概念上说任何迭代器都没有义务允许用户将自己转型成 void* ,建议楼主在使用 C++ STL 时最好彻底忘记那些 C 标准库的函数,它们并不兼容。
非常赞成您的建议,但是,现在这些库代码全部是客户提供的,估计代码本身已经非常老了,也是在老版本的GCC中可以编译通过的,现在开发新的程序的时候就遇到了问题。 |
|