map的Key参数可以是类吗?

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 20:09   11   0

如:
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在容器内是相互拷贝的。你的这个类编译器都为你生成了,所以没问题。


转载于:https://www.cnblogs.com/hxb316/p/3860867.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP