Я использую ключевое слово С++ 11 auto
почти везде. Я не уверен, правильно ли я использую его в этом случае. Рассмотрим следующий тривиальный пример: (http://ideone.com/TxLJlx)
#include <iostream>
const char* f()
{
return "Hello";
}
int main()
{
auto s1 = f();
auto* s2 = f();
std::cout << s1 << std::endl;
std::cout << s2 << std::endl;
return 0;
}
Оба auto
и auto*
, похоже, работают и, похоже, делают то же самое. Это предположение неверно?
Почему оба дают одинаковые результаты?
Какое правильное использование auto
в этом случае?