[英]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.