Comprender el significado del término y el concepto - RAII (Adquisición de recursos es inicialización)

¿Podrían ustedes, desarrolladores de C ++, darnos una buena descripción de qué es RAII, por qué es importante y si podría tener alguna relevancia para otros idiomas?

I hace saber un poco. Creo que significa "Adquisición de recursos es inicialización". Sin embargo, ese nombre no coincide con mi comprensión (posiblemente incorrecta) de lo que es RAII: tengo la impresión de que RAII es una forma de inicializar objetos en la pila de modo que, cuando esas variables se salgan del alcance, los destructores automáticamente ser llamado haciendo que los recursos se limpien.

Entonces, ¿por qué eso no se llama "usar la pila para activar la limpieza" (UTSTTC :)? ¿Cómo se llega desde allí a "RAII"?

¿Y cómo puedes hacer algo en la pila que causará la limpieza de algo que vive en el montón? Además, ¿hay casos en los que no puede usar RAII? ¿Alguna vez te encuentras deseando la recolección de basura? ¿Al menos un recolector de basura que podría usar para algunos objetos mientras deja que otros sean administrados?

Gracias

Respuestas a la pregunta(11)

Su respuesta a la pregunta