问题标签 [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.
c++ - 如何从新插入的对(到地图)中返回参考对?
如何正确有效地将一对从新插入的对返回到地图?
上面返回一个要使用的对象,但无论我在ret中更改什么,在地图中的“真实对”中都不会改变......
基本上我想要实现的是:
- 将新对象 Z插入地图 A
- ("Child"-class) 改变返回对象 Z中的东西
- 在每个更新周期中,遍历映射 A中的对象,并在更新时使用加载到对象“A- Z ”中的实际数据......
c - 在标准 C 中使用 pair 和 make_pair
有什么方法可以在 C 中使用 std::pair 和 std::make_pair 吗?似乎它们适用于 C++。
正如我使用的
它说它找不到这样的文件
谢谢你的任何建议
c++ - 访问 std::pair 数组元素时出错
我已经定义了一个数组对,如下所示:
但是当我尝试访问以下元素时:
我收到如下错误:
这是我访问它的功能:
我哪里错了?
c++ - std::pair 的 std::string 和自定义类无法复制到 std::map::insert(std::make_pair(string, class))
这个错误:
发生在此函数的唯一行上:
_animations
是一个std::map<std::string, AnimationFrameSet>
AnimationFrameSet 声明了一个 operator=(...) 和一个复制构造函数,但奇怪的是,编译器说它在尝试复制const std::string
... 时失败,即使字符串甚至没有作为const
.
我一生都无法弄清楚(甚至不记得!:P)为什么这是/应该抛出/抛出错误。
谢谢。
编辑
我有点困惑为什么这不起作用的原因是不同的类使用非常相似的实现并且它不会引发错误:
类型定义:
c++ - 添加到对向量
我有一个这样vector
的:pair
我想从这样的地图中添加一个字符串和一个双精度:
但是由于没有初始化收入,因此会出现越界错误。所以我尝试vector::push_back
这样使用:
但这表示不能接受两个论点。那么我该如何添加vector
呢pair
?
c++ - 可以投一对吗对一对?
所以我有一个智能迭代器来模拟映射 const_iterator,它需要在内部构建返回类型。显然,我想将 a 存储pair<Key, Value>
在我的迭代器类中(因为我需要修改它),但同时我希望取消引用函数呈现 a pair<const Key, Value>
(实际上它分别是 aconst pair<const Key, Value>&
和const pair<const Key, Value>*
)。到目前为止,我提出的唯一解决方案是每次更改我的迭代器类指向的值更改时动态分配一个新对。不用说,这不是一个好的解决方案。
我也试过*const_cast<const pair<const Key, Value> >(&value)
wherevalue
被声明为pair<Key, Value>
.
任何帮助将不胜感激(正如无法做到的知识一样)。
编辑
对于好奇:我最终将 a 存储pair<const Key, Value> p
在我的迭代器类中。为了更改对,我根据底层迭代器 ( map<Key, Value>::const_iterator it
)分别更改两个元素,const_cast
设置键以便可以更改它,如下所示:
这不是我非常满意的解决方案,但它完成了工作,并且取消引用方法很高兴,因为我存储了正确类型的东西,它们可以引用。
c++ - 排序对不起作用
如果我输入
我希望它输出
但它输出
不是 sort 假设先排序吗?但它似乎不起作用。我在 Dev C++ 上尝试了这个并且它输出正确,但是当在 ideone 上尝试这个时它输出错误
请帮助我,对不起我的英语不好。
c++ - STL 对输入和 STL 映射
在此代码中,pair <map <int, string> , bool> returnPair;
表示这对将映射行作为第一个值,将布尔值作为第二个值。
问题:
如何在此处插入 bool rollCallRegister.insert (pair <int, string> (1, "anisha"));
:?
其次,pair <map <int, string> :: iterator, bool> returnPair;
这对将 map 的迭代器作为第一个输入。
问题:
这与之前的对语法有何不同,因为插入方式仍然相同:rollCallRegister.insert (pair <int, string> (1, "anisha"));
?
c++ - 排序向量对
我正在制作一个扑克评估器,对于直方图,我使用向量<对>来保存数据。现在我坚持对它们进行排序,无论我尝试什么都会得到编译器错误。
任何帮助表示赞赏,谢谢。
c++ - std::pair 和类析构函数
可能的重复:
什么是三法则?
究竟如何std::pair
为其组件调用析构函数?我正在尝试将类的实例添加到 中std::map
,但我收到有关我的类的析构函数的错误。
我已将我的问题/问题缩小到以下非常简单的示例。
下面,my_class
仅在构造时创建一个int
数组,并在销毁时将其删除。不知何故,我收到“双重删除”错误:
同时,在 main.cpp 中...
编译正常,但这会产生以下运行时错误:
或者,使用 valgrind:
(行号关闭,因为我删掉了评论和东西)
我一定错过了一些关于std::pair
...的东西?
提前感谢大家!