摘要: 在泛型编程中,常常会使用一些非完全泛型的类模板,这就是特化。 如何理解全特化呢?如上图所示,第一个template class是空间配置器的类模板,第二个就是一个全特化的template class。全特化是为了节省时间或空间而重写的一种类模板。 你可以这样理解,一个类模板,它在正常情况下都会正常使 阅读全文
posted @ 2019-12-10 17:25 C_hp 阅读(400) 评论(0) 推荐(0)
摘要: 关于set和map的区别前面已经说过,这里仅是用hashtable将其实现,所以不做过多说明,直接看程序 unordered_set #include<stdexcept> #include<string> #include<cstdlib> #include<cstdio> #include<al 阅读全文
posted @ 2019-12-10 12:49 C_hp 阅读(696) 评论(1) 推荐(0)
摘要: map和set的区别在于,前者key和value是分开的,前者的key不会重复,value可以重复;后者的key即为value,后者的value不允许重复。还有,map在插入时可以使用 [ ]进行(看插入时代码),其采用了看起来像是数组插值的方法进行元素的插入。 例程 #include<stdexc 阅读全文
posted @ 2019-12-10 12:32 C_hp 阅读(200) 评论(0) 推荐(0)
摘要: set和multiset的去别在于前者的key值不可以重复,所以用随机数作为其元素进行插入时,遇到重复元素就会被拒绝插入(但是程序不会崩溃)。 例程 #include<stdexcept> #include<string> #include<cstdlib> #include<cstdio> #in 阅读全文
posted @ 2019-12-10 12:19 C_hp 阅读(211) 评论(0) 推荐(0)
摘要: unordered-multiset与unordered-multimap的区别和multiset与multimap的区别基本相同,所以在定义和插入时需要注意 key-value 的类型。 例程 #include<stdexcept> #include<string> #include<cstdli 阅读全文
posted @ 2019-12-10 12:08 C_hp 阅读(348) 评论(0) 推荐(0)
摘要: unordered-multiset是不定序关联式容器,其底部是通过哈希表实现功能。 (ps:黑色框就是bucket,白色框即为bucket上挂载的元素) 为了提高查找效率,bucket(篮子)的数量应当大于元素的个数,这是因为在bucket上悬挂的元素是通过单链表串起来的,而且一个unordere 阅读全文
posted @ 2019-12-10 11:54 C_hp 阅读(330) 评论(0) 推荐(0)
摘要: multiset和multimap的具体区别在于,前者的key值就是自己存储的value,后者的key与value是分开的不相关的。 例程 #include<stdexcept> #include<string> #include<cstdlib> #include<cstdio> #include 阅读全文
posted @ 2019-12-10 11:29 C_hp 阅读(207) 评论(0) 推荐(0)
摘要: multiset是可重复关键字的关联式容器,其与序列式容器相比最大的优势在于其查找效率相当高。(牺牲空间换取时间段) 例程 #include<stdexcept> #include<string> #include<cstdlib> #include<cstdio> #include<algorit 阅读全文
posted @ 2019-12-10 10:19 C_hp 阅读(184) 评论(0) 推荐(0)