Здравствуйте, sheglov.nik, Вы писали:
B>>А что именно подсказывает? Мне вот например такой подход не кажется чем-то неправильным
SN>Ну меня смущают такие сценарии
SN>1.
SN>SN>my_comparator cmp1 (bigObj1);
SN>my_comparator cmp2 (bigObj2);
SN>cmp1 = cmp2; // Побочный эффект bigObj1 = bigObj2 ? Это нормально?
SN>
И много ты компараторов присваиваешь?
Обычный сценарий:
std::sort(m_nets.begin(), m_nets.end(), FufelNetComparator(db.nets()));
Где "db" — большой-пребольшой объект, у которого есть объект EditorNet. Тоже очень большой.
А выше по коду
class FufelNetComparator
{
public:
FufelNetComparator(const fsed::EditorNet& nets) : m_net(nets){}
bool operator()(const SAMPLE& n1, const SAMPLE& n2) const
{
return fsstr::RefDesCompare( m_net.NameNet(n1.second), m_net.NameNet(n2.second)) < 0;
}
private:
const fsed::EditorNet& m_net;
};