avatar
问一个函数对象问题# Programming - 葵花宝典
t*r
1
常看到:
配接器bind2nd用作把二元变为一元判断式,常用在标准库带的函数对象上,
如:bind2nd(equal_to(),70)
小弟有个很初级的问题,
问什么标准库带的函数对象不能直接用70初始化,如:
equal_to(70);
恳请解答,谢谢。
avatar
t*t
2
因为组合来得比较容易, 每个部件都比较小。
相等是commutative的操作,还好说
比如小于, 大于, 你放个参数是放在左边还是右边?

【在 t******r 的大作中提到】
: 常看到:
: 配接器bind2nd用作把二元变为一元判断式,常用在标准库带的函数对象上,
: 如:bind2nd(equal_to(),70)
: 小弟有个很初级的问题,
: 问什么标准库带的函数对象不能直接用70初始化,如:
: equal_to(70);
: 恳请解答,谢谢。

avatar
t*r
3
好像不太理解:
自己定义的函数对象都可以:
如:
count_if(words.begin(),words.end(),GT_cls(6));
GT_cls是判断string德size是否大于6得函数对象
avatar
t*t
4
你自己当然可以这么写了, 但是写函数库的人要考虑的东西当然比较多

【在 t******r 的大作中提到】
: 好像不太理解:
: 自己定义的函数对象都可以:
: 如:
: count_if(words.begin(),words.end(),GT_cls(6));
: GT_cls是判断string德size是否大于6得函数对象

avatar
t*r
5
o,好的,多谢:)
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。