# STL中的函数对象(Funciont Objects)

490人阅读 评论(0)

vector<int> V(100);
generate(V.begin(), V.end(), rand);

struct less_mag : public binary_function<double, double, bool> {
bool operator()(double x, double y) { return fabs(x) < fabs(y); }
};

vector<double> V;
...
sort(V.begin(), V.end(), less_mag());

struct adder : public unary_function<double, void>
{
double sum;
void operator()(double x) { sum += x; }
};

vector<double> V;
...
cout << "The sum is " << result.sum << endl;

list<int> L;
...
list<int>::iterator new_end =
remove_if(L.begin(), L.end(),
compose2(logical_and<bool>(),
bind2nd(greater<int>(), 100),
bind2nd(less<int>(), 1000)));
L.erase(new_end, L.end());

Generator
Unary Function
Binary Function

Predicate
Binary Predicate

plus
minus
multiplies (formerly called times)
divides
modulus,
negate
equal_to
not_equal_to
greater
less
greater_equal
less_equal,
logical_and
logical_or
logical_not
subtractive_rng
identity
project1st
project2nd
select1st
select2nd
unary_function
binary_function
unary_compose
binary_compose
unary_negate
binary_negate
binder1st
binder2nd
pointer_to_unary_function
pointer_to_binary_function

compose1
compose2
not1
not2
bind1st
bind2nd
ptr_fun

0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：74548次
• 积分：1169
• 等级：
• 排名：千里之外
• 原创：32篇
• 转载：55篇
• 译文：0篇
• 评论：2条
文章分类
评论排行
最新评论