разницы какбы никакой.
В trailing return можно использовать аргументы функции
Ну не всегда удобно писать std::map<faking_type1, type2>::const_iterator Из банального
Ещё в обычный return нельзя запихать тип указателя на функцию
В первом варианте ещё decltype вроде юзать надо?
Обсуждают сегодня