首页 > STL编程 > C++/STL自定义函数对象

C++/STL自定义函数对象

主要是定义一个类,然后重载这个类的函数调用操作符,也就是括号符号。为了不失一般性,可以引入template机制,这样就能够更加通用了。下面是自定义的一个比较函数对象,主要功能类似STL中的less<Type>函数对象。

//Coded by 代码疯子
//http://www.programlife.net/
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
using namespace std;

template<typename T> class myless
{
public:
	bool operator()(const T& a, const T& b)
	{
		return a < b;
	}
};

int main()
{
	vector<int> v;
	copy(istream_iterator<int>(cin), istream_iterator<int>(), back_inserter(v));
	sort(v.begin(), v.end(), myless<int>());
	copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
	cout << endl;

	return 0;
}

上面的代码所实现的功能就是从标准输入读入整数,直到遇到EOF,然后从小到大排序输出。


觉得文章还不错?点击此处对作者进行打赏!


本文地址: 程序人生 >> C++/STL自定义函数对象
作者:代码疯子(Wins0n) 本站内容如无声明均属原创,转载请保留作者信息与原文链接,谢谢!


更多



分类: STL编程 标签: , , , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.