E
Ja, sorry, ich mach immer so Schludercode, wenn ich den nicht teste.
Hab's korrigiert. So, wie es jetzt ist, ist ja auch noch Slicing drin, was sicherlich unerwünscht ist, daher ist eine Zeigervariante des Containers sicherlich besser.
Wenn Du übrigens drüberiterieren willst und Eigenschaften abfragen möchtest, die nicht beide haben, brauchst Du ja Downcasts, die aber auch zu hinterfragen sind, weil man an der Stelle, wo man nur die Basisklasse speichert, eigentlich auch nur diese benötigen sollte. Daher frage ich Mal direkt weiter, wofür Du das brauchst. Aber erst, wenn das hier geklärt ist.
Ach und register hatte früher Mal die Aufgabe, dass man direkt den Registerspeicher der CPU nutzen konnte, was natürlich Performanceverbesserungen gebracht hat.
Heute ist aber Mr. Compiler schlau genug, dass er es selbst machen kann (wahrscheinlich sogar besser). Das Schlüsselwort wird afaik sogar ignoriert, wenn der Compiler es sinnlos findet. Daher braucht man es wirklich gar nicht mehr verwenden.
Edit:
Ich sehe gerade, Du wolltest mehrere Maps pro Subklasse haben. Aber wieso benötigst Du die beiden maps innerhalb einer Klasse? Ich glaube, Du musst noch etwas weiter ausholen.