【发布时间】:2020-01-09 14:01:24
【问题描述】:
有没有办法交换向量中所有元组的第一个和第二个元素? 假设我有这样的事情:
#include<vector>
#include<tuple>
int main()
{
std::vector<std::tuple<int,int>> my_vector;
my_vector.push_back(std::make_tuple(1,2));
my_vector.push_back(std::make_tuple(3,4));
}
元组的第一个元素现在是 1 和 3,第二个元素是 2 和 4。是否有容易使 2 和 4 成为第一个元素?
【问题讨论】:
-
你尝试了什么?
-
std::tuple可以有两个以上的元素。你为什么不改用std::pair? -
所以您的问题实际上是:“如何交换 2 元素元组的第一个和第二个值?”
-
有没有办法为向量中的所有元组交换第一个和第二个元素? -- 如果答案是“否”,C++ 将是一个非常语言薄弱。
-
我认为 Jabberwocky 只是想指出元组在向量中并不重要。如果你知道如何用一个来做,你也可以在一个循环中做很多