Я наткнулся на некоторый код, который использовал такой метод:
QList<Item*> itemList;
void addItem(Item* const& item)
{
itemList.append(item);
}
Теперь я не вижу какой-либо значимой разницы между этим и этим:
QList<Item*> itemList;
void addItem(Item* item)
{
itemList.append(item);
}
Но, очевидно, кто-то старался изо всех сил использовать такой странный тип. Или, возможно, инструмент рефакторинга пошел не так, как надо.
Есть ли веская причина сохранить подпись этой функции? Какой-то угловой корпус, который ведет себя по-другому? Я не могу думать ни о чем.