From f6c8f3595b1d93f413699996b4212b0332726676 Mon Sep 17 00:00:00 2001 From: lijinpeng Date: Mon, 3 Jan 2022 16:16:49 +0800 Subject: [PATCH] Modify content in vector.md --- course-book/contents/basic/collections/vector.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/course-book/contents/basic/collections/vector.md b/course-book/contents/basic/collections/vector.md index ced2444b..330d63d8 100644 --- a/course-book/contents/basic/collections/vector.md +++ b/course-book/contents/basic/collections/vector.md @@ -21,7 +21,9 @@ let mut v = Vec::new(); v.push(1); ``` -此时,`v`就无需手动声明类型,因为编译器通过`v.push(1)`,推测出`v`中的元素类型是`i32`,因此推导出`v`的类型是`Vec`. +此时,`v`就无需手动声明类型,因为编译器通过`v.push(1)`,推测出`v`中的元素类型是`i32`,因此推导出`v`的类型是`Vec`. + +> 如果预先知道要存储的元素个数,可以使用`Vec::with_capacity(capacity)`创建动态数组,这样可以避免因为插入大量新数据导致频繁的内存分配和拷贝,提升性能 #### vec![] 还可以使用宏`vec!`来创建数组,与`Vec::new`有所不同,前者能在创建同时给予初始化值: @@ -38,7 +40,7 @@ let mut v = Vec::new(); v.push(1); ``` -与其它类型一样,必须将`v`声明为`mut`后,才能进行修改,. +与其它类型一样,必须将`v`声明为`mut`后,才能进行修改。 ## Vector与其元素共存亡 @@ -192,7 +194,7 @@ impl IpAddr for V6 { fn main() { let v: Vec> = vec![ 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 {