Je veux faire unique et commander en set<Foo, FooComp>
.C++ ensemble unique et l'ordre
Dans le code ci-dessous, je veux un à unique et ordonner par b et c. Donc, pas même foo.a
et commandez par foo.b
et foo.c
.
Comment est-ce que je peux faire ceci?
struct Foo {
int a, b, c;
Foo(int a, int b, int c) : a(a), b(b), c(c) {}
}
struct FooComp {
bool operator() (const Foo& f, const Foo& s) const {
if (f.pattern == s.pattern) {
return false;
}
if (f.start == s.start) {
return f.length < s.length;
}
return f.start < s.start;
}
}
ou est-ce que j'utilise d'autres structures STL ou de données?
et je pense que sur l'utilisation de la carte, comme la clé 'A' et' (b, c) 'en tant que valeur. mais, carte n'a pas conçu pour ce cas (je pensais). – Maybe