欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611
C++ STL中 拿一个容器转换成另一个容器的方法 std::transfrom()...超级简单。嘿嘿......看代码
在侯捷的 C++ template中,是一个叫 非类型函数模版参数的东西...STL 很棒的东西!
template
T TestAdd( T & t)
{
return t + Value;
}
int main()
{
vector avs;
vectorbvs(3,0);
avs.push_back(1);
avs.push_back(2);
avs.push_back(3);
std::transform(avs.begin(),avs.end(),bvs.begin(),TestAdd);
//bvs的内容就编程 11,12,13 了。。。。
//如果想两个容器做其他转换,只要修改TestAdd规则,在调用transfrom就可以了。
return 0;
}
不过,这种方法是有限制的,他只能用于 int 类型 template 这样是不行的.. transfrom 的时候编译过不了的会提示【error C2993: “double”: 非类型模板参数“Value”的类型非法】
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611