指针作为映射C ++ STL中的键

阿玛·侯赛因

我有一个问题,在映射中用作键时如何处理指向自定义对象的指针。更具体地说,如果我定义

std::map< CustomClass*, int > foo;

默认的C ++实现是否可以处理这些指针?还是我需要定义一个自定义比较器函数来处理它?通常,将对象的指针用作键是否是一种好习惯?

尼尔·柯克

默认实现将比较指针存储的地址,因此不同的对象将被视为不同的键。但是,将不考虑对象的逻辑状态。例如,如果您将其std::string *用作键,则std::string具有相同文本的两个不同对象"Hello"将被视为不同的键!(按地址存储在地图中)

只要您了解上述重要区别,就可以将指针用作键。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用成员函数指针作为键的C ++映射问题

来自分类Dev

Bigrams作为C ++中的映射键

来自分类Dev

自定义类指针作为无序映射键

来自分类Dev

使用功能指针作为键进行映射

来自分类Dev

通过元素指针作为键的无序映射对向量进行排序

来自分类Dev

自定义类指针作为无序映射键

来自分类Dev

以指针为键的C ++映射。内存管理

来自分类Dev

将指针散列为C ++ STL中unordered_map的键

来自分类Dev

如何在C ++ STL中实现具有三个键的映射?

来自分类Dev

stl映射键查找错误

来自分类Dev

C ++中的智能指针和映射

来自分类Dev

使用c ++中的映射指针将值插入映射

来自分类Dev

多个键的C ++ Stl选择

来自分类Dev

指针作为C中的函数参数

来自分类Dev

C ++函数指针作为Doxygen中的参数

来自分类Dev

双指针作为C中的参数

来自分类Dev

指针作为C ++中的模板参数

来自分类Dev

指针数组作为c函数中的参数

来自分类Dev

静态映射作为C ++中的类成员

来自分类Dev

静态映射作为C ++中的类成员

来自分类Dev

数组作为映射键

来自分类Dev

使用C ++元组类型作为映射中的键

来自分类Dev

在C ++中使用const char *作为映射键的正确方法

来自分类Dev

将UnicodeString映射为Class作为值C ++ Builder的键

来自分类Dev

作为参数传递时,在函数中更新指针地址。[将指针作为C中的引用传递]

来自分类Dev

使用C的内存映射文件中的相对指针

来自分类Dev

使用C的内存映射文件中的相对指针

来自分类Dev

C ++调用存储在映射结构中的函数指针

来自分类Dev

C ++保留字作为C结构中的函数指针名称