Опасно ли передавать указатели в класс с приватными * tors? - PullRequest
1 голос
/ 24 ноября 2011

Если у меня есть класс с закрытыми конструкторами и деструкторами, все еще опасно передавать классические указатели в стиле c на экземпляры (в отличие от shared_ptr)?Есть ли ситуации, когда память может протечь?Время жизни экземпляров в моей программе управляется исключительно классом фабрики друзей (который также использует частное пользовательское средство удаления, чтобы позволить объектам shared_ptr для внутреннего использования классом менеджера).

1 Ответ

1 голос
/ 24 ноября 2011

Конструкторы не имеют значения, если у вас уже есть указатель. Что касается деструкторов - если у вас есть личный, вы не сможете delete есть, и, я полагаю, это также помешает вам создать экземпляр shared_ptr (как указал Дандрестор - если вы не предоставите пользовательский удалитель, который вы можете использовать не только с shared_ptr).

Все ограничения налагаются во время компиляции, поэтому, если вам не удастся освободить память из-за проблем конфиденциальности , вы получите уведомление во время компиляции.

...