спецификатор доступа для каждого члена, так как такой подход оказался лучше.
отрим следующий игрушечный примерstd::set
с пользовательским компаратором:
#include <set>
struct A {
A() : a(cnt++) {}
const int a;
static int cnt;
};
int A::cnt = 0;
struct comp {
bool operator()(const A& left, const A& right)
{
return left.a < right.a;
}
};
int main()
{
std::set<A, comp> sa;
for (int i = 0; i < 10; ++i) sa.insert(A());
return 0;
}
Обратите внимание, чтоA
не может быть просто создан из целого числа.
Я хотел бы искатьA
с заданным значениемA::a
вsa
, без создания временного объекта типаA
я ищу что-то вроде
sa.find(4)
с пользовательским компаратором, который позволяет прямое сравнение целых чисел с объектами типаA
, Это возможно?