博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于greater<int>以及类模板的一些理解
阅读量:2134 次
发布时间:2019-04-30

本文共 625 字,大约阅读时间需要 2 分钟。

类模板和模板类有什么区别

1. 以greater类模板为例

template
struct greater: public binary function
{
bool operator()(const T& x, const T& y) const {
return x > y; }};

我们可以看到,greater原型如上,则单拿出greater来说,规定其为类模板。如果我们写greater<int>或者greater<double>或者单精度浮点型之类的基本数据类型,我们就将其称之为模板类。

利用这个类我们可以降序排列一个数据容器,省得我们自己去写compare函数了。不过需要注意的是,由于是利用类内重载()运算符作为类模板,从而定义模板类,最后借以定义函数对象作为函数使用,所以greater是不完全等同于函数的。它只是一个类。

因此我们在用sort函数进行排序时,如果想要调用greater等类模板,(原型:void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp))我们需要新建一个临时对象。

如下:

sort
;或者sort
()>; //降序排列

值得注意的是,我们需要在开头include<functional>

转载地址:http://scugf.baihongyu.com/

你可能感兴趣的文章
【LEETCODE】6-ZigZag Conversion
查看>>
【LEETCODE】8-String to Integer (atoi)
查看>>
【LEETCODE】14-Longest Common Prefix
查看>>
【LEETCODE】38-Count and Say
查看>>
【LEETCODE】278-First Bad Version
查看>>
【LEETCODE】303-Range Sum Query - Immutable
查看>>
【LEETCODE】21-Merge Two Sorted Lists
查看>>
【LEETCODE】231-Power of Two
查看>>
【LEETCODE】172-Factorial Trailing Zeroes
查看>>
【LEETCODE】112-Path Sum
查看>>
【LEETCODE】9-Palindrome Number
查看>>
【极客学院】-python学习笔记-Python快速入门(面向对象-引入外部文件-Web2Py创建网站)
查看>>
【LEETCODE】190-Reverse Bits
查看>>
【LEETCODE】67-Add Binary
查看>>
【LEETCODE】7-Reverse Integer
查看>>
【LEETCODE】165-Compare Version Numbers
查看>>
【LEETCODE】299-Bulls and Cows
查看>>
【LEETCODE】223-Rectangle Area
查看>>
【LEETCODE】12-Integer to Roman
查看>>
【学习方法】如何分析源代码
查看>>