Básicamente no hay ninguna razón en absoluto.
objetos de excepción viven en su propio espacio de memoria y daga; para que no tenga que preocuparse por capturar excepciones creadas en expresiones temporales.
Todo lo que hace es prometer que no modificará el objeto de excepción, pero dado que los objetos de excepción deben tener una interfaz inmutable & Dagger;, realmente no hay nada práctico aquí.
Sin embargo, podría hacer que se sienta cálido y acogedor cuando lo lea — eso es lo que es para mí!
y daga; Tienen su propia pila especial local de subprocesos.
& Dagger;Descargo de responsabilidad: Boost.Exception rompe esto con el fin de hacer cosas funky y agregar detalles de excepción, después de la construcción. ¡Pero esto es piratería!
'a const para aumentar el rendimiento' ¿Cómo es eso? –
"decirle al compilador que no va a modificar el objeto": supongo que podría ser útil si pasa el objeto como parámetro a una llamada de función. –
¿qué quiere decir con 'acceder a la excepción de forma polimórfica'? – mango