Ich verwende eine Bibliothek, die eine Funktion foo(Widget*)
bietet.Wrapping std :: map und Zeiger auf Element
sind My Widgets in
gespeichertstruct WidgetManager {
std::map<int, Widget> dict;
??? getWidget(int id);
}
Ursprünglich I (raw) Widget Zeiger in der gespeicherten std::map
nur weil es bequem war, sie passieren foo. Wenn ich die tatsächlichen Widgets in der Karte speichern möchte, was sollte der Rückgabetyp von getWidget
sein, damit ich einen Zeiger des Widgets an foo übergeben kann?
Ich bin gezwungen, es vom Typ Iterator zu machen, aber ich mag es nicht, dass ich auf itr->second
zugreifen muss, um das Widget (Zeiger) zu erhalten.