Modify content in vector.md

pull/123/head
lijinpeng 3 years ago
parent 7bae5c2521
commit f6c8f3595b

@ -21,7 +21,9 @@ let mut v = Vec::new();
v.push(1); v.push(1);
``` ```
此时,`v`就无需手动声明类型,因为编译器通过`v.push(1)`,推测出`v`中的元素类型是`i32`,因此推导出`v`的类型是`Vec<id3>`. 此时,`v`就无需手动声明类型,因为编译器通过`v.push(1)`,推测出`v`中的元素类型是`i32`,因此推导出`v`的类型是`Vec<i32>`.
> 如果预先知道要存储的元素个数,可以使用`Vec::with_capacity(capacity)`创建动态数组,这样可以避免因为插入大量新数据导致频繁的内存分配和拷贝,提升性能
#### vec![] #### vec![]
还可以使用宏`vec!`来创建数组,与`Vec::new`有所不同,前者能在创建同时给予初始化值: 还可以使用宏`vec!`来创建数组,与`Vec::new`有所不同,前者能在创建同时给予初始化值:
@ -38,7 +40,7 @@ let mut v = Vec::new();
v.push(1); v.push(1);
``` ```
与其它类型一样,必须将`v`声明为`mut`后,才能进行修改,. 与其它类型一样,必须将`v`声明为`mut`后,才能进行修改
## Vector与其元素共存亡 ## Vector与其元素共存亡
@ -192,7 +194,7 @@ impl IpAddr for V6 {
fn main() { fn main() {
let v: Vec<Box<dyn IpAddr>> = vec![ let v: Vec<Box<dyn IpAddr>> = vec![
Box::new(V4("127.0.0.1".to_string())), Box::new(V4("127.0.0.1".to_string())),
Box::new(V6("127.0.0.1".to_string())), Box::new(V6("::1".to_string())),
]; ];
for ip in v { for ip in v {

Loading…
Cancel
Save