プログラミング言語 Rust 4【ワッチョイ】 (302レス)
前次1-
抽出解除 レス栞

97
(2): デフォルトの名無しさん (ワッチョイ abb6-ogOK) [sage] 2018/03/20(火)13:21 ID:RDB2KieC0(1)
>>96
loop{
let (a, cond): (&str, bool) = get_too_many_str();
let m = Mochi{aji: a};
let h = Hito {m : &m};
if(cond){ break; }
}
// ここでhのvecが欲しい

この場合は、ムーブする(ループより長いライフライムの)変数がないので1の手法しかないということになりますか?
そこそこでかい文字列を扱っているので気を使っていたのですが、この場合Stringにすべきでしょうか
98: デフォルトの名無しさん (ワッチョイ bdb3-kj1m) [sage] 2018/03/20(火)14:30 ID:UUyTwokV0(1)
大きい文字列を扱うから参照にしたいってのは普通にあるし分かるけど
Hitoが&MochiでなくMochiをメンバに持つようになっても文字列のコピーは行われないよ

自分なら>>97のget_too_many_str()が返す&strの元を誰が保持するのかをまず気にする
そこをしっかり把握してれば文字列のコピーは最低限になるはずだから
99: デフォルトの名無しさん (ワッチョイ eb2d-4xVl) [sage] 2018/03/20(火)16:38 ID:P+YmZBwi0(1)
>>97
んー、自分なら そこだけに使うMochiCow型作ってでも
ajiの型をCowにして凌ぐかな
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.767s*