Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение
Очень полезная вещь! А почему в случае визуального сравнения двух снимков мы видим 58 выделений и 15.71 КВ, а в случае исползования «Compare to» — 10 выделений и 1 КВ?
Как дополнительное интересное чтиво, могу порекомендовать «Современное проектирование на С++» Андрея Александреску. Это смесь обобщённого программирования, метапрограммирования, шаблонов и объектно-ориентированного программирования на C++.
До Большого Барабума лучше не допускать:

if(instance)
{
delete instance;
instance = NULL;
}

> Потому что есть куча глобальных и статических объектов (Плохо? Но такова жизнь, они всегда есть в более-менее крупном проекте, те же синглтоноуправляемые объекты, помимо этого логера). В каком порядке они удаляются? Они удаляются до или после вызова ReleaseSingletonObject? Это риторические вопросы, чтобы вы подумали над усовершенствованием механизма удаления.

Единственное, что приходит в голову, это постановка и снятие клиентов лога на учет, но не хочется усложнять…
Попробуйте в h файле инстанционировать переменную, поле этого заголовок перестанет быть странным. В конструкторе мьютекса lock, в деструкторе unlock. Компиляция приведенного примера в командной строке демонстрирует, что для включения библиотеки
в проект нужно включить только h файл. Выше привел ссылку на библиотеку с рабочими примерами.
Вызов ReleaseSingletonObject в деструкторе приведет к рекурсии. Политика создания это просто класс, который создает некоторый объект и возвращает на него некоторый интерфейс, который потом используется приложением (в нашем случае это объект логера и интерфейс логера).
Политика создания логера путем загрузки его из dll, построена таким образом, что она пытается загрузить объект логера из dll, а если этого не получается, то создает логер, который использует стандартный windows log.
TSingleton это просто шаблонный класс, который делает из класса на входе объект синглтона.
Полный код с работающими примерами можно посмотреть тут.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность