0
我在鏽新和不理解一個時刻:的不知所云behaivior() - >&STR功能
Pointer's Guide說:「你真的不應該返回指針」。我很好,但在我的HelloWorld類程序中,我試圖返回& str。我不需要盒裝字符串,只需要& str立即打印它。而且我成功了這個挑戰,但只是部分。
所以,問題本身:
爲什麼我可以做
fn foo(p: &[uint]) -> &str { "STRING" }
,但不能做
fn foo(p: Vec<uint>) -> &str { "STRING" } //error: missing lifetime specifier [E0106]
,但仍然可以做
fn foo(p: Vec<uint>) -> &'static str { "STRING" }
什麼改變從片切換到Vec的事實?
P.S.對不起,我的假英文和虛擬問題。我想,我只是沒有得到生鏽的借位checher點
的「不歸指針」位是指當呼叫者迫使'Box'或其他擁有指針。當借來的指針沒有不適當的扭曲時,使用它。 – delnan 2014-10-06 15:42:17