Ich brauche zwei std::map
s, deren Werte aus Leistungsgründen auf die Elemente der anderen verweisen.
Dies ermöglicht das konstante Einfügen/Entfernen von Elementen, wenn das andere bereits durchlaufen wurde.Zwei std :: maps, deren Werte die Iteratoren des jeweils anderen sind?
Was ist der schnellste Weg, um dies korrekt in C++ zu implementieren? Beachten Sie, dass der offensichtliche Ansatz nicht funktioniert, da der Typ der zweiten Map unvollständig ist, bevor ihr Iterator als der Typ des Werts der ersten Map deklariert werden kann. Sind Variants meine einzige Option, oder gibt es eine bessere Lösung?
müssen sie Iteratoren sein? könnten sie einfach Hinweise auf den Wert sein? –
@RichardHodges: Können Zeiger die Einschränkungen erfüllen, die ich im zweiten Satz angegeben habe? – Mehrdad
schwierig ohne weitere Informationen zu sagen. Ein void-Zeiger auf den value_type könnte umgewandelt werden, um einen Schlüssel zu erhalten .... aber ich weiß, dass das nicht das ist, was Sie wollen. Vielleicht ist es Zeit, Bedenken zu spalten? Lagerung und Indexierung? –