auto
引入关键字以简化代码。特别是,迭代 stl 容器变得更容易和更好看,而不必std::vector<MyType>::iterator
每次想要循环它时都使用丑陋的语法。但是,仍然可以编写代码而不使用auto
which 会做完全相同的事情。
现在(我认为)如果没有 ,您将无法使用某些功能auto
,尤其是结构化绑定:
std::tuple<int, int&> f();
auto [x, y] = f();
所以,两个问题:
- 我是否正确,如果
[x, y]
不使用auto
(仍然使用结构化绑定)就无法初始化?有没有办法明确地初始化它:*explicit_type* [x, y] = f();
? - 还需要使用哪些其他功能
auto
?