![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
ViGOur |
![]()
Сообщение
#1
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Подумалось мне тут, что если взять типизированный синглтон:
который создает-возвращает указатель на класс типа T, то при вызове: вызываться декремент счетчика ссылок у нас не будет и его нужно вызывать в ручную, что чревато ошибками!Следовательно нужно создать некий класс обертку, который открыто унаследован от класса T и закрыто от нашего типизированного синглтона, а в нем уже переопределить operator delete, в котором собственно и вызывать наш CTypedSingleton<T>::free(); Что я и сделал в коде ниже: собственно сам код
Что вы скажите? |
|
|
![]() |
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
ViGOur,
Думается мне, что не правильно, когда к закрытым счетчикам класса, которые инкрементируются-декрементируются в двух его методах, имеют доступ все кому не лень сделать дочерний класс! тут где-то не хватает запятых, поэтому я не совсем понял смысл предложения ![]() делай private , и никто, кроме родительского класса не будет иметь доступ. Делов то. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 16.6.2025, 3:04 |