问题标签 [std-pair]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
308 浏览

c++ - C++ 标准中 pair<> 的全局不等式比较

根据cppreference

在不等式比较 (<, >) 中,首先比较第一个元素,并且只有当不等式比较对它们不成立时,才会比较第二个元素。

翻译成这样的东西:

我的问题是,为什么它如此不直观?其背后的原因是什么?有没有这样的推理导致正确答案的例子?

我认为实现将只是:

0 投票
3 回答
560 浏览

c++ - C ++,不能将2个向量复制到对的向量

有以下数据类型:

我想将 2 个向量复制到成对向量中:

但是编译器停止并出现以下错误:

问题出在哪里?谢谢你的帮助。编译器 MSVS 2010 x86。我更喜欢没有 Boost 的解决方案。

更新问题 dasblinkenlight 发现了一个错误,更正后的代码:

但是编译器显示相同的错误...

0 投票
1 回答
244 浏览

c++ - 如何为字符串创建 unordered_map 以发挥作用

这工作正常。是否有另一种方法可以使用 MyObject::printSomeText 函数作为该对的值?

0 投票
4 回答
2869 浏览

c++ - C++,在 std::pair 中模板化 T

我想使用以下构造模板化“第一”类型的 std::pair

并创建此类对的向量。

但是这段代码似乎被搞砸了,很不舒服:

有没有更简单舒适的解决方案?

0 投票
1 回答
1384 浏览

c++ - 有标准制作新的配对吗?

我想要一个pair<A,B>*. make_pair(a,b)会给我一个pair<A,B>(注意这对不是指针)。有没有一种标准的方法来制作一对指针?我尝试在这两个词之后和之间添加新词,但它似乎不存在。

0 投票
6 回答
21326 浏览

c++ - C++ std::transform vector of pairs->first to new vector

抱歉有点初学者问题。有向量和向量对

有什么方法可以一步将所有第一项成对转换为另一个向量

如何设计函子?

也许有一些更用户友好的方法,没有 lambda 表达式和循环。谢谢你的帮助。

0 投票
1 回答
167 浏览

c++ - 如何在 C++ 中初始化这个模板对?

当我使用“ePair e(a,b)”创建一对时出现错误:“template2.cpp:39:2: error: 'G::ePair' is not a template” 我不确定为什么要编译错误来了?我在这里错过了什么吗?

0 投票
2 回答
2632 浏览

c++ - 无法为 std::pair 的 std::map 设置迭代器

我有一张地图,其值为 std::pair。

编译器在尝试设置迭代器时抱怨如下,但我不明白为什么:

src/DBConnector.cpp: 在成员函数'int DBConnector::createGenericInsert(std::string, std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::less<std::basic_string<char, std::char_traits<char >、std::allocator<char> > >、std::allocator<std::pair<const std::basic_string<char、std::char_traits<char>、std::allocator<char> >、std::对<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::string&)': src/DBConnector.cpp:354: 错误: 否匹配 'l_oIterEnd = p_mapValues.std::map<_Key, _Tp, _Compare, _Alloc> 中的 'operator='::以 _Key = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _Tp = std::pair<int, std::basic_string<char, std::char_traits<char 结尾>, std::allocator<char> > >, _Compare = std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, _Alloc = std::allocator <std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, std::basic_string<char, std::char_traits< char>, std::allocator<char> > > > >' /usr/include/c++/4.4/bits/stl_map.h:251: 注意:候选者是:std::map<_Key, _Tp, _Compare, _Alloc> & std::map<_Key, _Tp, _Compare, _Alloc>::operator=(const std::map<_Key, _Tp, _Compare, _Alloc>&) [with _Key = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _Tp = std::pair<int, std::basic_string<char, std::char_traits<字符>,std::allocator<char>>,_Compare = std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,_Alloc = std::分配器<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, std::basic_string<char, std::char_traits <char>, std::allocator<char> > > > >]basic_string<char, std::char_traits<char>, std::allocator<char> > >, _Alloc = std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]basic_string<char, std::char_traits<char>, std::allocator<char> > >, _Alloc = std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >]

我的功能是:

这里有什么问题 ?地图可以包含 std::pairs 吗?(此外,地图可以包含持有不同类型的键吗?)

0 投票
7 回答
107648 浏览

c++ - std::make_pair 与 std::pair 的构造函数的目的是什么?

目的是std::make_pair什么?

为什么不直接做std::pair<int, char>(0, 'a')

这两种方法有什么区别吗?

0 投票
1 回答
739 浏览

c++ - 编译 Spirit 示例时出错

这个其他问题的公认答案将我引向这个示例,但编译它会给出一个很长的错误列表。这里是示例代码,我只添加了包含和一个虚拟 main():

我已经尝试过 boost 1.42(我的 Ubuntu 11.04 发行版的默认版本)和 1.48(已下载)。错误(我报告由 QtCreator 过滤的错误)不同:1.42 版给出

而版本。1.48 给

我有什么遗漏吗?

编辑:我找到了解决方案:添加此标头并编译两个版本