Конечно, да. Хранение объектов в виде значений в контейнерах stl приведет к запуску конструктора копирования хранимого объекта.
В общем, для производительности лучше хранить указатели вместо них. Однако вы должны быть более осторожны с утечками и безопасностью исключений, когда используете вместо них указатели.
В любом случае, самая простая вещь, которая происходит при сортировке, это алгоритм обмена. Что включает в себя создание копии:
void swap(T & a, T & b)
{
T c = a; // copy constructing
a = b; // copy constructing
b = c; // copy constructing
}
Определенно намного быстрее копировать указатель вместо больших объектов.