由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C++ 自定义function object 问题,完全看不懂。
相关主题
你们看Transformers 3之前可千万别喝饮料啊...
相关话题的讨论汇总
话题: rescale话题: shift话题: pnorm话题: pair话题: double
进入Programming版参与讨论
1 (共1页)
z****e
发帖数: 2024
1
auto_ptr > p=(new vector);
//do something...
transform( pnorm->begin(),pnorm->end(),pnorm->begin(),
bind2nd(shift_rescale(), make_pair(10.0,2.0))) ;
//shift_rescale的定义:
template
struct shift_rescale: public binary_function{
T operator()(const T& source, const pair& args) const{
return args.first+source*args.second;
}
};
transform那句话,巨长的编译报错一大堆,各种字符交相辉映,无法看懂。
肯定是bind2nd(shift_rescale(), make_pair(10.0,
z****e
发帖数: 2024
2
对了对了,
shift_rescale的定义在类里边。
就是说,上边的p是 classA::p,
上边的shift_rescale是 classA::shift_rescale.
我猜,因为shift_rescale是一个成员模板?必须有类的实体,才能用?
大侠给讲讲吧。
p***o
发帖数: 1252
3
你第二个参数不是pair么,那么要用
binary_function, T>
而不是
binary_function

【在 z****e 的大作中提到】
: auto_ptr > p=(new vector);
: //do something...
: transform( pnorm->begin(),pnorm->end(),pnorm->begin(),
: bind2nd(shift_rescale(), make_pair(10.0,2.0))) ;
: //shift_rescale的定义:
: template
: struct shift_rescale: public binary_function{
: T operator()(const T& source, const pair& args) const{
: return args.first+source*args.second;
: }

z****e
发帖数: 2024
4
是的是的,终于通过了。
阿门!

【在 p***o 的大作中提到】
: 你第二个参数不是pair么,那么要用
: binary_function, T>
: 而不是
: binary_function

z****e
发帖数: 2024
5
再问一个问题,并祝大侠周末愉快,
我在自定义的那个function object里边加了一个cout和一个static int cnt的计数器。
发现这个function object被调用的次数,是我那个p->size()的两倍。这是为什么呢?
还是我又搞错了?

【在 p***o 的大作中提到】
: 你第二个参数不是pair么,那么要用
: binary_function, T>
: 而不是
: binary_function

p***o
发帖数: 1252
6

器。
贴代码,估计那儿不对吧。

【在 z****e 的大作中提到】
: 再问一个问题,并祝大侠周末愉快,
: 我在自定义的那个function object里边加了一个cout和一个static int cnt的计数器。
: 发现这个function object被调用的次数,是我那个p->size()的两倍。这是为什么呢?
: 还是我又搞错了?

z****e
发帖数: 2024
7
不用贴了,我找到了。一个愚蠢的错误。
大侠周末还给小弟解决问题,已经感激涕零了,怎敢再烦劳您忍受我的代码呢?

【在 p***o 的大作中提到】
:
: 器。
: 贴代码,估计那儿不对吧。

z****e
发帖数: 2024
8
另外写程序时间太长是不是得颈椎并?
有什么保护措施没?
我觉得脖子一直保持一个直立的姿势,然后手在键盘上,好几个小时,像个雕塑一样,
肩膀子都难受,脖子也难受。

【在 p***o 的大作中提到】
:
: 器。
: 贴代码,估计那儿不对吧。

1 (共1页)
进入Programming版参与讨论
相关主题
你们看Transformers 3之前可千万别喝饮料啊...
相关话题的讨论汇总
话题: rescale话题: shift话题: pnorm话题: pair话题: double