habilitar compartido desde esto y herencia
Tengo un tipo que hereda de enable_shared_from_this<type>
, y otro tipo que hereda de este tipo. Ahora no puedo usar el método shared_from_this porque devuelve el tipo base y en un método de clase derivado específico necesito el tipo derivado. ¿Es válido simplemente construir un shared_ptr a partir de esto directamente?
Editar:
En una pregunta relacionada, ¿cómo puedo pasar de un rvalue de tipo shared_ptr<base>
a un tipo de shared_ptr<derived>
? Utilicé dynamic_cast para verificar que realmente era el tipo correcto, pero ahora parece que no puedo lograr el movimiento real.
1 answers
Una vez que obtenga el shared_ptr<Base>
, puede usar static_pointer_cast
para convertirlo a shared_ptr<Derived>
.
No puedes simplemente crear un shared_ptr
directamente desde this
; eso sería equivalente a:
shared_ptr<T> x(new T());
shared_ptr<T> y(x.get()); // now you have two separate reference counts
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-12-20 16:12:18