正如您可能已经猜到的,我不想对指针地址进行排序,而是对对象/数据进行排序。

目前,我有一个这样的数组:

CArray <ReadObject *> readCollecion;


我这样排序:

std::sort(readCollecion.GetData(), readCollecion.GetData()+readCollecion.GetSize(), keySortFunction);


与keySortFunction完美配合。

问题是我需要指向对象的指针,因为我需要在对象已经存在于数组中时修改它们。我想我需要这样的数组:

CArray <ReadObject *> readCollecion;


现在,我可以在以后更改对象,但是我的排序似乎无法处理。

最佳答案

如果我正确理解了您的问题,那么您所要做的就是将keySortFunction的参数类型从const ReadObject&更改为const ReadObject*,并对函数进行适当的更改以使用->而不是.

10-06 12:06