这是对我之前问题的后续跟踪功能参数的破坏顺序是什么?因为我不小心把参数与参数混淆了 感谢Columbo和TC在该问题的评论中清除术语混淆.
如果某些函数的主体f带有参数p_1,...,p_n类型T_1,......,T_n分别抛出异常,完成或返回,参数被破坏的顺序是什么?为什么?如果可能,请提供标准参考.
例子:
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?
Run Code Online (Sandbox Code Playgroud)