26得票2回答
std::pair内的初始化列表

这段代码:#include <iostream> #include <string> std::pair<std::initializer_list<std::string>, int> groups{ { "A", "B" }, 0 }; ...

25得票5回答
在C++中从单个向量创建一组配对向量

我有一个偶数长度的一维向量,我想将其转换为一个二维向量,其中每个元素都包含两个数字。我知道可以使用简单的循环来实现这个目标,但我想知道是否有一个不错的标准库工具可以做到这一点?可以假定原始向量始终包含偶数个元素。 示例:vector<int> origin {1, 2, 3, 4,...

25得票5回答
我能使用std::pair,但可以重命名.first和.second成员名称吗?

我经常遇到的一个设计问题是,将两个变量捆绑在一起,然后失去了有意义地引用它们的能力。std::pair<int,int> cords; cord.first = 0; //is .first the x or y coordinate? cord.second = 0; //is ...

24得票2回答
使用std::pair或std::tuple的移动语义

假设您想利用移动语义,但是您的一个可移动类需要成为std::pair的一部分。 目的是创建一个函数,返回可以被视为 rvalue 并转发的 std::pair。 但我无法看出如何实现这一点,除非对std::pair本身进行内部更改,使其了解移动语义。 考虑以下代码:struct Foo {...

24得票4回答
奇怪的编译器错误:无法将参数从“int”转换为“int&&”。

这到底是怎么了? 我试图创建一个 int 和一个 string 的对,如果我使用 "魔法值" 就可以创建对,但好像无法传入变量。 std::vector<std::pair<int, std::string> > num_text; std::string text...

23得票6回答
将C++中的vector of pairs->first转换为新的vector的方法std::transform。

非常抱歉问一个初学者的问题。有向量和成对向量。typedef std::vector <int> TItems; typedef std::vector < std::pair <int, int> > TPairs; 有没有一种方法可以通过一步操作将所有成...

21得票3回答
unordered_map中使用pair<int,int>作为键的问题

我的代码: typedef pair&lt;int,int&gt; Pair tr1::unordered_map&lt;Pair,bool&gt; h; h.insert(make_pair(Pair(0,0),true)); 错误 undefined reference to `s...

21得票1回答
为什么使用std::equal_to会导致动态分配?

考虑以下简单示例,我在使用std :: equal_to比较两个std :: pair & lt; std :: string,unsigned & gt; 。 operator new被重载以便在发生分配时打印消息(活代码 here )。#include &lt;functional&gt;...

21得票1回答
是否有任何类似于pair的STL数据结构,它可以提供三个项目(类型),而不是两个?

问题 1: 我正在使用 C++ 11 进行学习,我意识到我可以使用两个 pair 来完成这个任务:pair&lt;pair&lt;&lt;#class _T1#&gt;, &lt;#class _T2#&gt;&gt;, &lt;#class _T3#&gt;&gt; 这是最好的方式吗? ...

20得票1回答
为什么std :: make_pair不返回pair?还是它会返回pair?

我的内部逻辑检查失败了,所以我正在Stackoverflow上重新运行它。 以下代码:#include &lt;iostream&gt; #include &lt;typeinfo&gt; #include &lt;utility&gt; int main() { constexp...