为什么突然冒出来一个second?

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]);
            if (it != hashtable.end())
            {
                return {it->second, i};
            }
            hashtable[nums[i]] = i;
        }
        return {};
    }
};

这段代码的

   return {it->second, i};

要怎么理解?
来自leecode第一题两数之和。
为什么突然冒出来一个second?

second就是map的值
map<int,int>表示map存储的是多个数对,第一个整数是KEY,第二个整数是值,当用迭代器访问时,it->first表示第一个KEY,it->second表示第二个值

程序的目的是啥