- 16
- 0
- 约1.02万字
- 约 17页
- 2018-04-24 发布于福建
- 举报
C模板参数
C++模板中的函数对象在C++模板类map中一个参数为Compare类型,该类型为一个比较函数,其完整定义如下:templateclass Key,class T,class Compare = std::lessKey,class Allocator = std::allocatorstd::pairconst Key, T class map;函数作为类进行传递,该类采用了重载操作符()来实现函数指针到类的转变。在实际中也可以仿照此风格写自己的类。template typename Key, typename Value, class Hash class A {Hash hash_fn;public:A():hash_fn(Hash()) {}size_thashCode(Key key) { return hash_fn(key);}};第三个参数Hash为函数对象,该对象通过重载操作符()来实现,其一个字符串类型的Key定义如下:structstr_hash {size_t operator()(conststd::string str) const{return 0;}};当调用hash_fn(key)函数时,该重载函数被调用,这样就实现了转换。由于C++标准库中包含有大量此类型风格的类,我们就可以通过默认参数来调用标准类,这样上面的模板类A就可以定义如下:templ
您可能关注的文档
最近下载
- 第8课 生物的启示(教学课件)-六年级科学下册(冀人版).pptx VIP
- 销售人员必备山东省临沂市费县医疗机构分布明细.pdf VIP
- 湖南工商大学微积分期末复习.pptx VIP
- 各类机械设备检查验收表.doc VIP
- 结构初步设计说明的.doc VIP
- 机械设计基础(少学时王喆 )--习题答案 第六章.pdf
- 销售人员必备山东省临沂市沂南县医疗机构分布明细.pdf VIP
- 《爱的人间》(课件)-人音版(2012)音乐五年级下册.pptx VIP
- 湖南工商大学《微积分》2021-2022学年第一学期期末试卷.doc VIP
- 2024凉山州专业技术人员继续教育公需科目全套十一讲满分答案(纯).docx
原创力文档

文档评论(0)