fix: use map func to avoid copy of string
This commit is contained in:
parent
3834b8dd52
commit
1d510fadc9
|
@ -127,7 +127,7 @@ fn main() {
|
|||
check_size([0u8; 767]);
|
||||
check_size([0i32; 191]);
|
||||
check_size(["hello你好"; __]); // Size of &str ?
|
||||
check_size(["hello你好".to_string(); __]); // Size of String?
|
||||
check_size([(); __].map(|_| "hello你好".to_string())); // Size of String?
|
||||
check_size(['中'; __]); // Size of char ?
|
||||
|
||||
println!("Success!");
|
||||
|
|
|
@ -53,7 +53,7 @@ fn main() {
|
|||
check_size([0u8; 767]);
|
||||
check_size([0i32; 191]);
|
||||
check_size(["hello你好"; 47]); // &str is a string reference, containing a pointer and string length in it, so it takes two word long, in x86-64, 1 word = 8 bytes
|
||||
check_size(["hello你好".to_string(); 31]); // String is a smart pointer struct, it has three fields: pointer, length and capacity, each takes 8 bytes
|
||||
check_size([(); 31].map(|_| "hello你好".to_string())); // String is a smart pointer struct, it has three fields: pointer, length and capacity, each takes 8 bytes
|
||||
check_size(['中'; 191]); // A char takes 4 bytes in Rust
|
||||
}
|
||||
|
||||
|
|
|
@ -123,7 +123,7 @@ fn main() {
|
|||
check_size([0u8; 767]);
|
||||
check_size([0i32; 191]);
|
||||
check_size(["hello你好"; __]); // size of &str ?
|
||||
check_size(["hello你好".to_string(); __]); // size of String?
|
||||
check_size([(); __].map(|_| "hello你好".to_string())); // size of String?
|
||||
check_size(['中'; __]); // size of char ?
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue