首页 > 代码库 > map的Key参数可以是类吗?
map的Key参数可以是类吗?
如:
class cls
{
public:
void print(int i){printf(i);};
}
int main()
{
std::map<cls,int> mymap;
return 0;
}
这段程序是否有问题?
上面的cls作为Key来说需要满足
1. 支持 < 运算符,或者给定了<判断式,map内部是红黑树需要用<,很明显你的cls不满足这个条件。
2. 支持拷贝运算符,以及赋值运算(=) ,key在容器内是相互拷贝的。你的这个类编译器都为你生成了,所以没问题。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。