【发布时间】:2022-01-15 21:26:35
【问题描述】:
我有这个工作代码:
let foo_ips = vec![Ipv4Addr::new(127,0,0,1),
Ipv4Addr::new(127,0,0,2),
Ipv4Addr::new(127,0,0,3)];
let foos: Vec<Foo> = foo_ips.iter().map(|x| {Foo::new(*x)}).collect();
我相信这是使用复制构造函数来创建新的Ipv4Addrs 以传递给Foo::new()。
我说的对吗?
如果是这样,我如何从 foo_ips 中取出 ips 以将每个的所有权传递给 Foo::new()?
【问题讨论】:
-
Ipv4Addr是Copy,所以当你做*x时你会得到一份副本
标签: vector rust iteration ownership