¿Cuál es el orden de destrucción de los parámetros de la función?

Este es un seguimiento de mi pregunta anterior¿Cuál es el orden de destrucción de los argumentos de la función? porque accidentalmente confundí argumentos con parámetros. Gracias a Columbo y T.C. por aclararme la confusión terminológica en los comentarios de esa pregunta.

Si el cuerpo de alguna funciónf con parámetrosp_1, ...,p_n de tiposT_1, ...,T_n respectivamente arroja una excepción, termina o regresa, ¿en qué orden se destruyen los parámetros y por qué? Proporcione una referencia al estándar, si es posible.

Ejemplos:

template <typename ... Args>
void f(Args ... params) {} // in what order are params destroyed?

void f(T1 p1, T2 p2, T3 p3) {} // in what order are p1, p2 and p3 destroyed?

Respuestas a la pregunta(1)

Su respuesta a la pregunta