您的位置:首页 > 其它

实现一个可以用于bind2nd的函数对象

2010-11-04 08:41 281 查看
template<typename T>
class Mulitiplies:public binary_function<T,T,T>
{
public:
Mulitiplies(){}
~Mulitiplies(){}
T operator()(T x,T y) const
{
return x*y*3.14159265;
}
};

int main()
{
vector<double> vecs_int;
for(double i=0;i<20;i++)
{
vecs_int.push_back(i);
}
list<double> lits_int;
try
{
vecs_int.at(23);
}
catch(out_of_range &ot)
{
cout<<ot.what()<<endl;
}
//copy(vecs_int.begin(),vecs_int.end(),back_inserter(lits_int));
transform(vecs_int.begin(),vecs_int.end(),back_inserter(lits_int),bind2nd(Mulitiplies<double>(),4));
copy(lits_int.begin(),lits_int.end(),ostream_iterator<double>(cout," "));
return 0;
}
[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐