【发布时间】:2014-09-02 06:31:02
【问题描述】:
我在Animal 中有这样的重载运算符
// A must be comparable to be used as keys
bool operator<(const Archivo &right) const
{
return nombreArchivo < right.nombreArchivo;
}
在我的main我打电话
std::vector<Animal*> animalesConConcha;
// add some objects
std::sort(animalesConConcha.begin(), animalesConConcha.end());
std::cout<<"\n\n\nOrdered:\n";
for(it=animalesConConcha.begin(); it!=animalesConConcha.end(); it++)
{
cout<<(*it)->nombre<<" | "<<(*it)->indice<<endl;
}
但是输出仍然是未排序的。
【问题讨论】:
-
确保在用特定语言提问时添加语言标签(我已经为您添加了 C++)。
-
那些是
Animal*s,而不是Animal对象。因此,std::sort()按地址对它们进行排序。
标签: c++ sorting object vector stl