zurückgeben Ich plane, eine ResourceManager-Klasse in meine gameengine zu schreiben, damit ich meine Bilder, Musik, Modelle und so weiter leicht verwalten kann.Vorlagenwert von DLL-Klasse
Klasse wie:
class ResoureManager{
std::map<cstring path,T> resources;
public:
<T> get(char path[]);
}
Die Idee war einfach (nur ein, wie es dann funktioniert): Bei der Lagerung alles in einem großen Behälter, und schicken Sie das Objekt über den Weg. Mein Problem ist jetzt, dass ich eine Klasse mit einem Vorlagencontainer verwenden muss, damit ich in Zukunft verwalten kann, was ich will. Mein Hauptproblem hier ist die ::get(char path[])
Funktion, die das Objekt zurückgeben sollte. So weit, so gut, ich kann einige Arten für den Export einführen, aber gibt es irgendwelche Alternativen, die ich nehmen kann?
ich MSVS Gemeinschaft bin mit 2015
Aus Ihrem (gebrochenen) Codebeispiel ist nicht klar, was genau Sie wollen. Aber vielleicht möchten Sie [Boost.Any] (http://www.boost.org/doc/libs/1_59_0/doc/html/any.html) (es würde den Platz Ihres 'T' einnehmen) als ein Mittel zum Speichern von Objekten unterschiedlicher Art. Oder vielleicht, wenn alle Ihre Ressourcen leicht in/aus einer String-Repräsentation konvertiert werden können, ist [Boost.PropertyTree] (http://www.boost.org/doc/libs/1_59_0/doc/html/property_tree.html) auch ein Möglichkeit? – mindriot