У меня есть вспомогательный класс для автономного мониторинга процесса, и, как это немного «огонь и забыть» механизм, большой ловушкой является то, что вы можете использовать его как это:Можете ли вы запретить локальное создание экземпляра класса?
MyClass с (процесса);
Но когда c выходит из сферы видимости, нить внутри останавливается и, очевидно, из нее не появляется никаких уведомлений.
Как вы должны сделать это так:
MyClass * с = новый MyClass (процесс);
и обрабатывать всю жизнь самостоятельно.
Есть ли простой, хороший способ запретить локальное создание экземпляра и разрешить только «новый» в C++?
Cheers!
Valmond
Другим возможным решением (за исключением объявляя частных конструктора или деструктора методов) является использование смарт-указателей, объявив свой тип, как это: ЬурейеЕ станд :: unique_ptr PtrMyClass; Но это не изящный способ. –
LmTinyToon
Итак, я вызываю свой деструктор через функцию открытого участника, но как мне удалить? – Valmond
Извините, я идиот, я просто делаю удаление (это) в функции публичного участника, приветствую и благодарю! – Valmond