vector<pair<int, int>> nums_list;
for (int i = 0; i < nums.size(); i++) {
nums_list.emplace_back(i, nums[i]);
}
这段代码创建了一个名为`nums_list`的`vector`容器,其中存储了一系列的`pair<int, int>`。代码的逻辑如下:
1. 创建一个空的`vector<pair<int, int>>`容器`nums_list`,用来存储整数对。
2. 使用`for`循环遍历整数数组`nums`,循环变量`i`从0到`nums`的长度减1。
3. 在循环中,使用`emplace_back()`函数将一个新的`pair<int, int>`对象加入到`nums_list`中。这个对象的第一个整数(`first`成员)是`i`,表示数组索引,第二个整数(`second`成员)是`nums[i]`,表示数组中索引为`i`的元素的值。
下面是一个示例代码,展示了如何使用上述代码创建`nums_list`:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> nums = {
1, 2, 3, 4, 5};
std::vector<std::pair<int, int>> nums_list;
for (int i = 0; i < nums.size(); i++) {
nums_list.emplace_back(i, nums[i]);
}
// 输出 nums_list 中的元素
for (const auto& pair : nums_list) {
std::cout << "(" << pair.first << ", " << pair.second << ") ";
}
std::cout << std::endl;
return 0;
}
В приведенном выше коде мы сначала создаем целочисленный массив nums
, который содержит несколько целых чисел. Затем мы создаем пустой nums_list
контейнер. Далее мы используем for
цикл для перебора целочисленного массива nums
и добавляем каждый элемент массива и соответствующий ему индекс в контейнер в качестве pair
объекта . nums_list
Наконец, мы перебираем nums_list
контейнер и выводим каждую пару целых чисел внутри него.
Пример вывода:
(0, 1) (1, 2) (2, 3) (3, 4) (4, 5)
В приведенном выше примере nums
элементы массива представляют собой последовательные целые числа от 1 до 5. nums_list
Контейнер хранит серию пар целых чисел, каждая пара целых чисел представляет индекс массива и значение соответствующего элемента. Таким образом, окончательный результат (0, 1) (1, 2) (2, 3) (3, 4) (4, 5)
: .