Есть ли разница или она то же самое?
Является ли 'auto const' и 'const auto' одинаковым?
Ответ 1
Квалификатор const относится к типу к немедленному левому, если нет ничего слева, а затем применяется к типу сразу справа. Так что это то же самое.
Ответ 2
Упрощенный пример:
std::vector<char*> test;
const auto a = test[0];
*a = 'c';
a = 0; // does not compile
auto const b = test[1];
*b = 'c';
b = 0; // does not compile
Оба a и b имеют тип char* const. Не думайте, что вы можете просто "вставить" тип вместо ключевого слова auto (здесь: const char* a)! Ключевое слово const будет применяться ко всему типу, который соответствует auto (здесь: char*).