В моем классе есть массив указателей, которые мне нужно отсортировать.
Сортировка работает правильно, я просто не уверен, переключаю ли я просто ссылку на класс, или весь класс ...
Мой код похож на:
ITEM *items = new ITEM[set.pathc];
...
bool change = true;
while( change )
{
change = false;
for( i = 0; i < set.pathc-1; i++ )
{
if( compare( items+i, items+i+1, set.order, set.order_asc ) )
{
ITEM temp;
temp = *(items+i);
items[i] = items[i+1];
items[i+1] = temp;
change = true;
}
}
}
Так что мой код переключает только указатели (я имею в виду адреса, где размещается объект) или целые объекты (например, копирование всех приватных переменных, не понадобится ли для этого оператор "="?)?
Я хочу переключать только указатели, потому что я думаю, что это будет намного быстрее, я пробовал вот так
ITEM *temp
temp = item+i;
item[i] = item+i+1;
item[i+1] = temp;
но это не сработало: - / (Я даже не смог скомпилировать код)
Заранее спасибо за разъяснения:)