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