std-pair相关内容

只有两个成员的 std::pair 和 std::tuple 之间的区别?

std::pair 和只有两个成员的 std::tuple 之间有区别吗?(除了明显的 std::pair 需要两个且只有两个成员并且 tuple 可能有更多或更少......) 解决方案 有一些区别: std::tuple 标准并不要求永远是 standard-layout.如果 T 和 Y 都是标准布局,则每个 std::pair 都是标准布局. 获取 pair 的内容比获 ..
发布时间:2022-01-20 00:02:18 C/C++开发

C++对<L,R>的等价物是什么?在 Java 中?

Java 中没有 Pair 有充分的理由吗?这个 C++ 构造的等价物是什么?我宁愿避免重新实现我自己的. 1.6 似乎提供了类似的东西(AbstractMap.SimpleEntry),但这看起来很复杂. 解决方案 在comp.lang.java.help 上的一个线程,Hunter Gratzner 给出了一些反对 Java 中存在 Pair 构造的论据.主要 ..
发布时间:2022-01-19 23:31:40 Java开发

find_if 和 std::pair,但只有一个元素

假设我有以下代码: std::vector 现在我只需要在其中搜索一个 int 元素,所以: vectorIt = std::find_if(myVec.begin(),myVect.end(),make_pair(.....));^^^^^^^^^^^^^^^^^ 我该怎么做? 解决方案 编写一个接受 std::pair 的一元谓词,如果 first 元素返回 true等于给定值 ..
发布时间:2022-01-10 14:57:37 C/C++开发

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

std::make_pair 的目的是什么? 为什么不直接做 std::pair(0, 'a')? 这两种方法有什么区别吗? 解决方案 区别在于 std::pair 需要指定两个元素的类型,而 std::make_pair 将创建一个带有传递给它的元素类型的对,而无需您告诉它.无论如何,这就是我可以从各种文档中收集到的信息. 从 http://www.cplusplus. ..
发布时间:2022-01-07 11:30:38 C/C++开发

插入地图的首选/惯用方法是什么?

我已经确定了四种将元素插入std::map的不同方式: std::map功能;函数[0] = 42;function.insert(std::map::value_type(0, 42));function.insert(std::pair(0, 42));function.insert(std::make_pair(0, 42)); 哪些是首选/惯用的方式?(还有我没有想到的其他方法吗?) ..
发布时间:2022-01-07 11:06:41 C/C++开发

为什么从 C++11 中删除了对范围访问?

我刚刚发现在某一时刻,C++11 草案对 std::pair 有 std::begin/std::end 重载 允许将一对迭代器视为适合在基于范围的 for 循环中使用的范围(N3126,第 20.3.5.5 节),但此后已被删除. 有谁知道为什么它被删除了? 我发现删除非常不幸,因为似乎没有其他方法可以将一对迭代器视为一个范围.确实: 在基于范围的 for 循环中开始/结束的查 ..
发布时间:2021-12-26 12:01:40 C/C++开发

什么是 std::pair?

std::pair 有什么用,我为什么要使用它,boost::compressed_pa​​ir 有什么好处? 解决方案 std::pair 是一种将两个值组合为一个对象的数据类型.std::map 将其用作密钥,值对. 在您学习时pair,您可以查看 tuple.它就像 pair ,但用于对任意数量的值进行分组.tuple 是 TR1 的一部分,许多编译器已经将它包含在他们的标准库 ..
发布时间:2021-12-24 15:44:12 C/C++开发

具有 2 个单元格的结构与 std::pair 相比?

可能的重复: 有什么区别在使用具有两个字段和一对的结构之间? 亲爱的, 我有一个关于pairs和struct的小问题.使用 std::pair 而不是具有两个单元格的结构有什么好处吗?我已经使用了一段时间,但主要问题是可读性:如果你想表示例如一个双重(int "label", double "value"),你可以使用 a : typedef std::pair我的Elem; 或 ..
发布时间:2021-12-23 17:17:52 C/C++开发

在 C++ 中,按第一个元素然后按第二个元素对成对向量进行排序?

如果我有一个 vector> 数据类型,如果第一个元素相等,按对的第一个元素排序,然后按第二个元素排序的可接受方法是什么?例如可能 (1,10), (3,3), (7,13), (7,16), (8,1), (8,2), (15,2) 等 解决方案 pairs 默认按第一个元素比较,然后是第二个.因此,如果您不关心在第一个元素比较相等时保留顺序,那么您可以使用 std::sort: st ..
发布时间:2021-12-21 13:56:52 C/C++开发

将变量名转换为 C++ 中的字符串

我想将一些数据输出到文件中.例如假设我有两个双精度向量: vector数据 1(10);向量数据2(10); 是否有一种简单的方法可以将其输出到文件中,以便第一行包含标题“data1"和“data2",然后是实际内容.的功能输出数据将传递各种不同的数组,因此对名称进行硬编码标题是不可能的 - 理想情况下我想转换变量名称到某个字符串,然后输出该字符串,后跟向量数组的内容.但是,我不确定如何将变量 ..
发布时间:2021-12-13 21:20:17 C/C++开发

如何打印出 C++ 地图值?

我有一个像这样的 map: map>我的地图; 我已经使用以下方法将一些数据插入到我的地图中: myMap.insert(make_pair(first_name, make_pair(middle_name, last_name))); 我现在如何打印地图中的所有数据? 解决方案 for(map >::const_iterator it = myMap.begin();它 != ..
发布时间:2021-12-11 12:43:06 C/C++开发

排序 std::vector>通过字符串?

如何通过比较作为 std::string 的 pair.first 来对这个 vector 进行排序?(不提供静态比较函数,也不使用 boost). 解决方案 std::vector>v;std::sort(v.begin(), v.end()); std::pair 重载 operator 先按 first 元素排序,然后按 second 元素排序.因此,如果您仅使用默认排序顺序 (o ..
发布时间:2021-12-10 10:48:35 C/C++开发

C++ Pair L,R 的等价物是什么?在爪哇?

Java 中没有 Pair 是否有充分的理由?这个 C++ 构造的等价物是什么?我宁愿避免重新实现自己的. 似乎 1.6 提供了类似的东西(AbstractMap.SimpleEntry),但这看起来很复杂. 解决方案 在 comp.lang.java.help 上的一个线程,Hunter Gratzner 给出了一些反对 Java 中 Pair 结构存在的论据.主要论点是 Pair ..
发布时间:2021-11-25 11:47:56 Java开发

C++ Pair L,R 的等价物是什么?在爪哇?

Java 中没有 Pair 是否有充分的理由?这个 C++ 构造的等价物是什么?我宁愿避免重新实现自己的. 似乎 1.6 提供了类似的东西(AbstractMap.SimpleEntry),但这看起来很复杂. 解决方案 在 comp.lang.java.help 上的一个线程,Hunter Gratzner 给出了一些反对 Java 中 Pair 结构存在的论据.主要论点是 Pair ..
发布时间:2021-11-19 22:52:02 Java开发