Я понимаю, что мы можем использовать auto
как:Что такое использование авто?
auto a = 1;
auto b = Foo(1,2);
Или в вызове функции:
auto foo(){
return Foo(1,2);
}
Но C++ 11 также обеспечивает равномерную инициализацию и инициализации список, так что мы можем сделать:
Foo a {1,2};
Foo b = {1,2};
Foo foo(){
return {1,2};
}
Так что же использовать auto
, если у нас уже есть синтаксис фигурных скобок? (за исключением определения примитивного типа)
Тривиальный пример: 'auto it = v.beg in() 'где' v' - некоторый контейнер типа 'T' в выведенном контексте. – juanchopanza
Взгляните на статью [Herb Sutter's «AAA-style»] (http://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost-always-auto/). – Casey
Использование 'auto' для вывода возвращаемого типа функции является функцией C++ 1y. В C++ 11 существует только функция auto foo() -> Foo; 'trailing-return-type (и возврат типа возврата для простых lambdas). – dyp