История изменений
Исправление Int64, (текущая версия) :
Блин что-то я опять запутался :D В твоем примере родительское окно содержит виджеты, получается виджеты - это unique_ptr а окно shared_ptr потому-что много виджетов ссылаются на это окно, я правильно понял? Тогда в моем примере лучше uiManager сделать shared_ptr а внутри элементы uniquie_ptr. Шейдеры для отрисовки допустим гуя тоже делать shared_ptr как и текстуру skin, потому-что абсолютно все элементы гуя ссылаются на эту текстуру как и на шейдеры colorShader и atlasShader.
Исходная версия Int64, :
Блин что-то я опять запутался :D В твоем примере родительское окно содержит виджеты, получается виджеты - это unique_ptr а окно shared_ptr потому-что много виджетов ссылаются на это окно, я правильно понял? Тогда в моем примере лучше uiManager сделать shared_ptr а внутри элементы uniquie_ptr. Шейдеры для отрисовки допустим гуя тоже делать shared_ptr как и текстуру skin, потому-что абсолютно все элементы гуя ссылаются на эту текстуру как и на шейдеры colorShader, atlasShader.