gpt4 book ai didi

c++ - 对指针 C++ 的容器进行排序并比较类型

转载 作者:搜寻专家 更新时间:2023-10-31 01:04:34 25 4
gpt4 key购买 nike

我需要分类容器。但我从模板中得到容器的类型..因为这个我需要使用 std::sort对于 std::vectorname.sort对于 std::list .因此我需要检查容器的类型才能选择要做什么。

我尝试做:

class sor {
public:
sor(){}
bool operator( )(Course* l, Course* r) {
return l->getNumber() < r->getNumber();
}
};



if (typeid(courses) == std::list){
//do something...
}
else{
//do...
}

我该怎么做?谢谢

最佳答案

你可以重载你自己的排序函数

template<typename T, typename Compare>
void sort(std::list<T>& list, Compare compare)
{
list.sort(compare);
}

template<typename T, typename Compare>
void sort(std::vector<T>& vector, Compare compare)
{
std::sort(vector.begin(),vector.end(),compare);
}

关于c++ - 对指针 C++ 的容器进行排序并比较类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23699685/

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