C++ 11 std :: shared_ptr <> proporciona un tipo de operador bool.¿Por qué std :: weak_ptr <> no proporciona una conversión bool?
operator unspecified-bool-type() const;
(No es una recta de operator bool() const
debido a la dangers from implicit casting de tipo bool
.)
Por qué no std :: weak_ptr <> tienen un operador de similar? Me encuentro constantemente escribiendo
if(!wp.expired())
cuando quiero escribir
if(wp)
Por qué hay conversión bool para weak_ptr?
¿Porque las características no están implementadas por defecto? –
'operator bool' ahora se puede realizar de forma segura directamente en C++ 11: http://stackoverflow.com/a/6242355/46642 –