返回信息流template<class Seq,class T,class R,class A>
void apply(Seq& sq,R(T::*f)(A) const,A,a){
typename Seq::iterator it=sq.begin();
while(it!=sq.end))
((*it++)->*f)(a);
}
调用方式 apply(dogs,&Gromit::speak,1);//Gromit 是个类,speak是成员函数 声明为void speak(int);
问下 红色标记处应该怎么理解?
这是一条镜像帖。来源:北邮人论坛 / cpp / #82663同步于 2014/9/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[问题]看段函数声明
Alexinx
2014/9/20镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
R == void ?
T == Gromit
A == int
Seq == typeof(dogs)
至于const.... 我忘了... 好像是说f这个函数不能修改T的成员变量
f是一个指向类T的成员函数的函数指针,指向的函数是const的,有一个A类型的参数,返回值是R类型, 即 R T::foo(A a) const; f = &A::foo;