正如您可能已经猜到的,我不想对指针地址进行排序,而是对对象/数据进行排序。
目前,我有一个这样的数组:
CArray <ReadObject *> readCollecion;
我这样排序:
std::sort(readCollecion.GetData(), readCollecion.GetData()+readCollecion.GetSize(), keySortFunction);
与keySortFunction完美配合。
问题是我需要指向对象的指针,因为我需要在对象已经存在于数组中时修改它们。我想我需要这样的数组:
CArray <ReadObject *> readCollecion;
现在,我可以在以后更改对象,但是我的排序似乎无法处理。
最佳答案
如果我正确理解了您的问题,那么您所要做的就是将keySortFunction
的参数类型从const ReadObject&
更改为const ReadObject*
,并对函数进行适当的更改以使用->
而不是.