D.h. es ist zumindest nicht "einfach nur sinnentleert" die Ressourcen sich auch noch zum Teil selbst verwalten zu lassen? Man kann ja zum Beispiel im Ressourcen-Manager immer eine Kopie (d.h. im Endeffekt eine Referenz) in einer Map, o.Ä. speichern, sodass die Ressource auf jeden Fall nicht freigegeben wird. Und wenn man will kann man ja den Ressourcen-Manager auch nur Zeiger ausgeben lassen, sodass er im Endeffekt immer noch frei ist, zu bestimmen, wann eine Ressource effektiv freigegeben wird.
Dann gleich noch eine Frage: Wie sinnvoll ist es einer Ressourcen verwaltenden Klasse eine "Dispose()"-Methode zu geben, d.h. eine Methode, die die verwaltete Ressource sofort freigibt? Momentan hat bei mir jede dieser Klassen eine solche Methode, da meistens im Destruktor mögliche Exceptions einfach "geschluckt" werden, und ich damit dem Nutzer eine Möglichkeit geben möchte, diese Exceptions abzufangen (Eine solche Exception kann ja sogar schon ominöserweise beim Freigeben von dynamisch alloziiertem Speicher auftreten). Ich sehe gerade laut Scott Meyers ist das wohl Gang und Gebe, aber so ganz überzeugt bin ich davon einfach nicht.