punteros inteligentes + "esto" considerado perjudicial?

En un proyecto de C ++ que utiliza punteros inteligentes, comoboost::shared_ptr, ¿cuál es una buena filosofía de diseño con respecto al uso de "this"?

Considere eso:

Es peligroso almacenar el puntero en bruto contenido en cualquier puntero inteligente para su uso posterior. Has renunciado al control de eliminación de objetos y confías en el puntero inteligente para hacerlo en el momento adecuado.

Los miembros de clase no estáticos utilizan intrínsecamente unthis puntero. Es un puntero en bruto y eso no se puede cambiar.

Si alguna vez almacenothis en otra variable o pasarlo a otra función que podría almacenarlo para más tarde o vincularlo en una devolución de llamada, estoy creando errores que se introducen cuando alguien decide hacer un puntero compartido a mi clase.

Dado eso, ¿cuándo es apropiado para mí usar explícitamente unthis ¿puntero? ¿Existen paradigmas de diseño que puedan prevenir errores relacionados con esto?

Respuestas a la pregunta(8)

Su respuesta a la pregunta