Тип даннных auto
Я не совсем понимаю, что значит данное выражение:
auto ptr = find(ba, ba + 6, str[i]);
Вроде как auto
определяет тип данных сам. Но тогда почему я не могу написать
int* ptr = find(ba, ba + 6, str[i]);
?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Какой тип вы напишете, например, тут, вместо ???
?
template<typename T, typename F>
void calc(T& x, F func)
{
??? z = func(x);
??? y = func(z);
....
}
Там, где вы тип знаете точно — вам же никто не запрещает использовать его, а не auto
? В чем проблема? Например, никто не мешает написать
std::vector<std::set<std::string>>::const_iterator a = v.begin();
вместо
auto a = v.begin();