LINUX.ORG.RU

История изменений

Исправление trex6, (текущая версия) :

У меня из похожего есть только работа с текстурами.

Сделано это так: В статическую функцию (член класса GLTexture) передается «путь» к текстуре (что-то вида «/interface/icon/home»), внутри функции создается текстура, заворачивается в самописный хитрый «указатель» и добавляется в список уже сущесвтвующих текстур.

При повторной попытке создания такой же точно текстуры будет возвращен еще один хитрый «указатель» на нее.

Как только все указатели на ресурс в программе уничтожены - он выгружается из памяти.

Хитрый указатель виден пользователю как объект класса GLTexture, у которого в паблик торчит только конструктор копирования, а остальные конструкторы в привате.

P.S. Если я правильно понял, о чем ты вообще написал.

Исходная версия trex6, :

У меня из похожего есть только работа с текстурами.

Сделано это так: В статическую функцию (член класса GLTexture) передается «путь» к текстуре (что-то вида «/interface/icon/home»), внутри функции создается текстура, заворачивается в самописный хитрый «указатель» и добавляется в список уже сущесвтвующих текстур.

При повторной попытке создания такой же точно текстуры будет возвращен еще один хитрый «указатель» на нее.

Как только все указатели на ресурс в программе уничтожены - он выгружается из памяти.

P.S. Если я правильно понял, о чем ты вообще написал.