std-pair 相关问题

std :: pair是一个完全由两个对象组成的有序异构序列(这是std :: tuple的一个特例)。

什么是 C++ std::pair 的 C# 模拟?

C# 中的 std::pair 在 C++ 中的模拟是什么?我找到了 System.Web.UI.Pair 类,但我更喜欢基于模板的东西。

回答 14 投票 0

向量<pair<string, string>>擦除()不减少大小[关闭]

#包括 #包括 使用命名空间 std; int main() { std::vector > vec1 = { {"1", "0"}, {"2",&...

回答 1 投票 0

对向量的列表初始化

我正在列表初始化一个保存整数对的向量。 我按照预期理解以下作品: std::vector> vpairs_first{std::make_pair(0, 1), std::make_pair(0...

回答 1 投票 0

为什么 C++ 中不允许使用 std::pair<int[N], int[N]>?

为什么下面的C++代码无法编译? #包括 int main() { 整数x[6]; 整数y[6]; std::pair a(x, y); 返回0; } 例如,MSVC 给出

回答 1 投票 0

强制 `std::pair` 构造函数的求值顺序; for 循环的进度条“struct”

我正在编写一个包含许多长for循环的程序,我想为每个循环添加一个进度条指示器。为此,我编写了 struct ProgressBar 来完成此任务。界面如下: 斯特...

回答 1 投票 0

为什么将右值绑定到 const 类型会使其成为左值?

这个问题可能没有最好的标题,但这里的代码将解释我想问的内容。 此代码运行并打印“左值”,但如果我从 MyPair 的第一个类型中删除 const...

回答 1 投票 0

为什么在使用 std::pair 作为 std::unordered_map 键时需要非成员 == 运算符重载

在下面的示例中,我重载了 uint8_t 和 bool 的转换函数。并使用一对作为 boost::hash 的映射键。 'const M...的转换之前有错误歧义

回答 1 投票 0

错误:没有匹配函数来调用‘std::vector<std::pair<double, std::pair<long long int, long long int> > >::push_back(double&, long long int&)

#define ll long long #先定义fi #define se秒 #包括 使用命名空间标准; 内部主要(){ ll n,m,a,b,q,i,j; 矢量 >&...

回答 1 投票 0

如何使用 std::pair 传递 const 引用?

我找到了一段代码如下: std::pair unpack_if_const(const ColumnPtr& ptr) noexcept { 如果 (is_column_const(*ptr)) { 返回 std::make_pair(

回答 1 投票 0

std::只有一个初始化列表参数的非平凡类的配对初始化

考虑以下代码: #包括 #包括 使用 V = std::vector; 诠释主要(){ std::pair p1{1, 2}; // p1.second 有 2 个元素 ...

回答 3 投票 0

无法从地图值中获取对

我有这个结构 静态地图, TypeC>> my_map; 后来,我像这样访问它: pair, TypeC> instance = ...

回答 1 投票 0

如何找到向量中最近的一对点?

所以,我必须编写一个程序,从用户输入成对的点,并使用距离公式找到离它最近的邻居。根据我得到的说明,我必须只编辑...

回答 1 投票 0

根据与原点的距离对点对向量进行排序

所以问题陈述是: 给定一个整数 n,后面跟着 n 对数字,它们是点的坐标。您必须打印出输入的顺序中的点,然后按顺序打印它们...

回答 1 投票 0

C++ STL 对表达式在 mac 上给出错误 [关闭]

在这里输入图片描述 我有这个错误。 我不知道该怎么做。我需要一些帮助。

回答 0 投票 0

std::pair from temporary:为什么调用复制构造函数而不是移动构造函数?

考虑以下代码: #include 使用命名空间标准; 结构 A { A(常量 A&){ 计算<<"copy constructor"< 考虑以下代码: #include<iostream> using namespace std; struct A { A(const A&){ cout<<"copy constructor"<<endl; } A(A&&){ cout<<"move constructor"<<endl; } ~A(){ cout<<"destructor"<<endl; } static std::pair<A,int> f1() { int i = 1; return std::pair<A,int>{i,2}; } static std::pair<A,int> f2() { int i = 1; return std::pair<A,int>{A(i),2}; } private: A(int){ cout<<"constructor"<<endl; } }; int main() { cout<<"f1: "<<endl; A::f1(); cout<<"f2: "<<endl; A::f2(); } 构造函数 A(int) 是私有的,因此 A 中的 pair<A,int> 不能由 int 构建。因此,在f1中构建了一个临时的。在 f2 中,我显式创建了临时文件,但行为不同,输出为: f1: constructor copy constructor destructor destructor f2: constructor move constructor destructor destructor 我希望在A::f1中也调用移动构造函数,但调用了次优的复制构造函数。为什么会这样? 如果你看对的构造函数 有趣的构造函数是 (2) 和 (3) // (2) constexpr pair( const T1& x, const T2& y ); // (3) template< class U1 = T1, class U2 = T2 > constexpr pair( U1&& x, U2&& y ); // SFINAE on constructible 注意,没有pair(T1&&, T2&&). 因为A(int)是private,std::is_constructible_v<A, int>是false。 所以对于f1,只有 (2) 是一个可行的构造函数(因此是副本)。 对于f2,(3)是可行的(并且更好的匹配),所以前进(所以移动)完成了。

回答 1 投票 0

使std::pair的第二个参数成为自定义类。

我在C++中实现了一个Node类,作为一个任务。该类:#pragma一次#include。 类 Node { size_t id; std::pair dist; public: /Node(); ...

回答 1 投票 -1

如何按键对 std::list 对进行排序?

我想对一个std::list进行排序。 > 在两个独立的函数中,通过键和值来实现。我得到了一个错误,说:错误:引用非静态 ...

回答 3 投票 2

在一个std::双和一个类的std::对上的std::greater。

当你有一个由int和类组成的std::pair时,std::greater是否适用?我试图创建一个按第一个元素排序的对的优先级队列:std::priority_queue

回答 1 投票 0

正在创建用户定义的类并检索数据?

java代码,此代码只是为了理解我有疑问的一些概念...。因此,帮助我解决该代码以获取预期的输出... :) public class PairDataStructure {public static void main(...

回答 1 投票 -1

返回时是否将复制std :: list >这样的结构?

我有一个期望从给定字符串中提取键值列表的函数,其中每个键/值对都由std :: pair表示,该函数具有如下签名:std :: list&。 。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.