答案:需要重载 struct 或者 class 的 operator < 。
原因:
因为 map 的底层是 RBTree,而 RBTree 的比较函数为如下图所示:
而该 Compare 来自于 map 中向 RBTree 传入的比较函数,如下图所示:
less<Key>的函数源代码如下所示:
如果,Key 为 struct 或者 class 时,就需要重载 operator < ,这样就可以实现了自定义的 Key 的 map 的应用。
(SAW:Game Over!)
答案:需要重载 struct 或者 class 的 operator < 。
原因:
因为 map 的底层是 RBTree,而 RBTree 的比较函数为如下图所示:
而该 Compare 来自于 map 中向 RBTree 传入的比较函数,如下图所示:
less<Key>的函数源代码如下所示:
如果,Key 为 struct 或者 class 时,就需要重载 operator < ,这样就可以实现了自定义的 Key 的 map 的应用。
(SAW:Game Over!)