[英]Copy a char vector to another vector
我正在尝试创建一个 function 来将一个向量复制到另一个向量中:
#include <iostream>
#include <vector>
int clone(std::vector <char> X, std::vector <char> Y){
for(int i(0);i<X.size();i++){
Y[i]=X[i];
}
return 0;
}
当我调用 function 时,提示 window 上什么也没有出现。
您的代码有 2 个问题。 第一个是对Y
的任何修改在调用站点都将不可见,因为您是按值传递vector
。 相反,您需要通过引用传递它。
其次,您对X
的索引不正确(假设X
没有Y
大)。 相反,您可以push_back
值。
但是,您甚至可以直接复制vector
,因此您可以这样做:
int clone(std::vector <char> const &X, std::vector <char> &Y){
Y = X;
return 0;
}
在这一点上,命名为 function 是毫无意义的,因为与其做类似的事情:
std::vector<char> y;
clone(x, y);
你可以简单地做:
auto y = x;
这更具可读性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.