Нет, auto
не может решить любую из этих проблем.
auto
- это утилита времени компиляции для определения типа вещи из кода, который ее окружает. Он более тесно связан с шаблонами (действительно, auto
в списке параметров лямбда-выражения реализуется шаблоном!).
Он не знает состояний среды выполнения и не может использоваться для виртуальной отправки.
Это совершенно разные понятия, и вам лучше всего заново изучить, что означает каждый из них.