Si.
Es la mejor opción para varias clases de aplicaciones sensibles al rendimiento que son difíciles de hacer bien, se pueden hacer mejor con años (o décadas) de experiencia y, por lo tanto, son inherentemente agradables de construir y financieramente gratificantes.
Aunque Anónimo es técnicamente correcto al decir que, como se envía, C ++ no es recolección de basura, las mejores prácticas aún evitan la gestión manual de recursos porque hace que los problemas sean más probables, especialmente en casos de error / excepcionales con una cobertura de prueba deficiente. La excepción es cuando tiene una muy buena razón, como una flota de 100,000 máquinas que cuestan $ 1000 por año en costos de depreciación y operación, un ahorro del 1% es $ 1M, y la elaboración de perfiles muestra los puntos calientes donde se beneficiaría de no depender de métodos automáticos
- ¿Por qué me piden que escriba un algoritmo durante la entrevista DevOps en lugar de las secuencias de comandos relacionadas con DevOps?
- Soy un estudiante de segundo año. No soy del departamento de informática, pero tengo un conocimiento justo de la informática. ¿Cuáles son las principales cosas en informática que debo aprender para obtener un trabajo de CS?
- ¿Cuál es la importancia de la simplicidad en la arquitectura de software?
- ¿Deben las startups usar desarrollo basado en pruebas?
- ¿La realidad virtual llega a Linux?
Los objetos con almacenamiento automático en la pila se eliminan automáticamente cuando salen del alcance. Los objetos referenciados por punteros inteligentes como std :: shared_ptr se destruyen cuando su recuento de referencia llega a cero. Esto difiere de los idiomas recolectados de basura en que sus recursos se limpian de inmediato, no cuando el recolector de basura lo utiliza, lo que puede permitir que los programas se queden sin recursos de memoria como los descriptores de archivos. El costo también se paga de manera predecible a medida que avanza en lugar de impredecible.
Incluso puede recolectar basura si realmente lo desea: Hans Boehm ha estado escribiendo documentos sobre la recolección de basura desde 1988 o antes y distribuyó públicamente un recolector de basura utilizable para C y C ++ desde que tengo memoria.
Del mismo modo, deben evitarse los punteros sin procesar cuando no satisfacen una necesidad, como acceder al hardware o en la implementación de una biblioteca donde es útil la doble indirección.