[erledigt]Funktionsrückgabe eines std::unique_ptr-Members

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
joggel

[erledigt]Funktionsrückgabe eines std::unique_ptr-Members

Beitrag von joggel »

Hach, mal wieder habe ich eine Frage bezüglich Smartpointer.

Aaaaaalso, ich verwende in meinem Programm States (zB Splashscreen, Menü, Spiel, etc..).
Dann einen Statemanager, der eben die einzelnen States verwaltet.
Im Code soll das dann wie folgt ausehen:

Code: Alles auswählen

SpielApp::drawFrame(Window& window)
{
	mStateManager.getActiveState()->drawFrame(window);
}
Nun habe ich in meinem StateManager einen Member vom Type std::unique_ptr<StateBase> den ich je nach notwendigkeit verändere.

Jetzt ist meine Frage, wie stelle ich das am *besten* und sichersten an, das die Funktion getActiveState() was "anständiges" zurückgibt.
Klar, ich könnte mit std::unique_ptr::get() arbeiten, aber ich weiß nicht ob das State-of-the-Art ist.

Zugegeben, ist vlt eine etwas blöde Frage, aber ich versuche mich immer noch mit diesen neuen Smartpointern vertraut zu machen...
Zuletzt geändert von joggel am 07.09.2015, 13:08, insgesamt 1-mal geändert.
joggel

Re: Funktionsrückgabe eines std::unique_ptr-Members

Beitrag von joggel »

Ha! Ich glaube ich konnte das Problem gerade umgehen.
Also, es ist nicht mehr akut...
dawit
Beiträge: 42
Registriert: 05.02.2011, 17:06

Re: Funktionsrückgabe eines std::unique_ptr-Members

Beitrag von dawit »

Ich würde einfach std::unique_pr::get() zurückgeben. Du willst ja nur den Zugriff auf den Zeiger ermöglichen, und nicht den Besitz nach außen abgeben. Meiner bescheidenen Meinung nach müsste das auch State-of-the-Art sein.

EDIT: Ups, zu spät.
joggel

Re: Funktionsrückgabe eines std::unique_ptr-Members

Beitrag von joggel »

Ja, nach dem ich das so gemacht habe, scheint mir das auch recht anständig auszusehen...
Antworten