现在的位置: 首页 > 综合 > 正文

C++与C#之容器Map的比较

2018年03月18日 ⁄ 综合 ⁄ 共 277字 ⁄ 字号 评论关闭

   在C++ 和 C#都用过map,非常常用和实用的一个容器,两个语言中用途都是查找,但是内部的机制却不一样。简单总结下。

  1:值与引用:正如C# 和 C++的区别,C#中的map是根据key的地址去找,而C++的map,则是根据key的值去查找。

  2:实现机制:如上面所说,对key的不同理解,就决定了不同的算法。C#的map是用hash,而C++的查找,则是用红黑树。

  3: 用法比较: 用法大同小异,都是查找,但是由于上面说的实现机制不同,C++的map是用红黑树,所以必须保证key是可以比较的,如果是自己写的类,得自己定义"<"比较。而C#则没有这个限制。

抱歉!评论已关闭.