Como puedo ver, los punteros inteligentes se utilizan ampliamente en muchos proyectos de C ++ del mundo real.
Aunque algunos tipos de punteros inteligentes son obviamente beneficiosos para admitir RAII y las transferencias de propiedad, también hay una tendencia de usar punteros compartidos por defecto , como una forma de "recolección de basura" , para que el programador no tenga que pensar mucho en la asignación.
¿Por qué los punteros compartidos son más populares que la integración de un recolector de basura adecuado como Boehm GC ? (¿O acuerdas en absoluto que son más populares que los GC reales)?
Sé de dos ventajas de los GC convencionales sobre el recuento de referencias:
- Los algoritmos GC convencionales no tienen problemas con los ciclos de referencia .
- El recuento de referencias es generalmente más lento que un GC adecuado.
¿Cuáles son las razones para usar punteros inteligentes de recuento de referencias?