class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
unordered_map<int, int> hashtable;
for (int i = 0; i < nums.size(); ++i) {
auto it = hashtable.find(target - nums[i]); //该行中的auto代表的是什么意思呢 刚刚学这块不太懂
if (it != hashtable.end())
{
return {it->second, i};
}
hashtable[nums[i]] = i;
}
return {};
}
};
```
C++11开始auto关键字用于在编译时自动推断变量类型,编译器会根据auto变量的初始化值推断出其类型。这段程序中的auto是为了简化代码,如果不声明为auto就需要写成unordered_map<int, int>::iterator it
自动推导变量类型
看下这篇博客,也许你就懂了,链接:auto的函数实现