[英]Why is `str` encapsulated inside `String` instead of inside a `Box<str>`?
这并没有给我带来任何困难 - 我完全有能力使用String
- 但是有没有理由将str
封装在自己的特殊类型中而不是更普遍的Box
类型中? 如果是有原因的,那么答案可能会帮助我的模型如何一起工作Box
不同。
为什么str
封装在String
而不是在Box<str>
? 是为了方便输入这样一个共同结构还是有更深层次的原因?
String
更像是Vec<char>
不是Box<str>
- 它有方法可以在最后推送更多的char
,或者推送整个str
。 它有长度和容量,而不仅仅是长度。 像Box
和Vec
,它拥有它的内容,并把它们放在堆上; 与Box
不同,它还将str
的功能扩展到其固有属性之外。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.