存储和检索相应的项
Store and retrieve corresponding items
我有一个程序,我在其中为某些目的编写了自定义类。我需要以类似map
的数据结构的形式存储类,这样我可以很容易地获得与另一个相对应的项。如:
class Rectangle{
//...
};
class ShapeContainer{
//...};
class WarpedRectangle{
//...
};
class Adorner{
//...
};
以上是三个不同的类,在我的程序中,我尝试做以下事情:(以map
为例,因为它是最接近的)
地图_inputOutputMap;地图_inputWarpedMap;地图_adornerWarpedMap;
操作1 :
_inputOutputMap[inputRectangle1] = & shapeccontainer1;
操作2 :
_inputWarpedMap[inputRectangle1] = &warpedRectangle1;
操作 3 :
返回_inputWarpedMap [inputRectangle1]
操作4 :
操作5 :
返回_adornerWarpedMap [adorner1]
请注意,使用map
的目的不是为了获得任何排序顺序,比较或诸如此类,而只是为了保持各种项目之间的对应关系[对于此输入,即输出等]。如果我尝试继续使用映射本身,我会在编译期间在stl_function.h (function: struct less : public binary_function<_Tp, _Tp, bool>
)中得到一个错误,并突出显示消息:
二进制表达式(const Adorner和const Adorner)等无效的操作数
如何为我的需求获得这种类型的通信和查找属性?
你试过使用std::unordered_map
吗?无论如何,在这个用例中应该比std::map
更快。
(注意,您仍然需要确保键对象支持相等比较,否则您需要提供一个外部谓词函数来做同样的事情)。
- 使用 pqxx 将 std::vector 存储在 postgresql 中,并从数据库中检索它
- C++-需要读取存储在文件(.txt)中的时间戳并正确检索
- 我正在编写一个代码来将 int 数组存储在文件中,然后用 c++ 检索它,但是检索第一项是假值,我该如何解决这个问题?
- SQLite3 C++检索 ID 并存储到另一个表
- 如何在文件中节省空间地存储和检索 std::vector<int> 值
- 如何从 linux 二进制文件中存储和检索数据
- 如何将浮子值的字节存储在字符串中并以后检索值
- 如何在三维数组中使用std::map来存储/检索具有特定值的键
- 存储和检索位字段中的有符号值
- 如何通过先前存储的ID从结构对象中检索值?C
- 手动检索和存储指向 OpenGL 函数的指针时遇到问题
- c++使用字符串句柄对对象进行通用存储和检索
- 使用 XPTR 在内存中存储和检索矩阵
- 以数组的形式存储组合框项,并在 WPF 中检索 SelectedId
- 使用 QSqlQuery 检索 MySQL 存储过程的输出
- 使用c++通过文件存储和检索链表
- 从数据库中以 blob 数据类型形式存储的原始图像数据中检索 CImage 对象
- 从矢量中存储和检索IplImages
- 使用自动 c++ 检索存储元组的值
- 如何检索存储在列表中的一对点