Pair 循环中基于索引的赋值,C++

Index-based assignment in the loop for Pair, C++

我是 C++ 新手。我想在循环内将值分配给我的元组。 以下无效。

#include<utility>

std::pair<int, int> myPair;

int main() {
    for(int i=0; i<2; i++) {
        std::get<i>(myPair) = i;
    }
}

我怎样才能正确地做到这一点?

你有理由坚持循环这样做吗?如果没有,您可以只分配给 mypair.firstmypair.second.

#include<utility>

std::pair<int, int> myPair;

int main() {
    myPair.first = 1;
    myPair.second = 2;
}

一个非常有用的网站是cppreference.com

,它可以检查标准库类型的可用内容。

也许你真的想要 std::vector

#include <vector>

int get_next_value(int); // Not defined in this example.
// You get your values from somewhere...

// note that global variables like this might not be the best idea.
std::vector<int> values; 

int main() {
    for (int i=0; i < 2; ++i) {
        values.push_back(get_next_value(i));
    }
}