t******r 发帖数: 209 | 1 常看到:
配接器bind2nd用作把二元变为一元判断式,常用在标准库带的函数对象上,
如:bind2nd(equal_to(),70)
小弟有个很初级的问题,
问什么标准库带的函数对象不能直接用70初始化,如:
equal_to(70);
恳请解答,谢谢。 | t****t 发帖数: 6806 | 2 因为组合来得比较容易, 每个部件都比较小。
相等是commutative的操作,还好说
比如小于, 大于, 你放个参数是放在左边还是右边?
【在 t******r 的大作中提到】 : 常看到: : 配接器bind2nd用作把二元变为一元判断式,常用在标准库带的函数对象上, : 如:bind2nd(equal_to(),70) : 小弟有个很初级的问题, : 问什么标准库带的函数对象不能直接用70初始化,如: : equal_to(70); : 恳请解答,谢谢。
| t******r 发帖数: 209 | 3 好像不太理解:
自己定义的函数对象都可以:
如:
count_if(words.begin(),words.end(),GT_cls(6));
GT_cls是判断string德size是否大于6得函数对象 | t****t 发帖数: 6806 | 4 你自己当然可以这么写了, 但是写函数库的人要考虑的东西当然比较多
【在 t******r 的大作中提到】 : 好像不太理解: : 自己定义的函数对象都可以: : 如: : count_if(words.begin(),words.end(),GT_cls(6)); : GT_cls是判断string德size是否大于6得函数对象
| t******r 发帖数: 209 | |
|