以下の内容はhttps://ytyaru.hatenablog.com/entry/2020/09/11/000000より取得しました。


Rustのライフタイム2(構造体の定義)

 構造体のフィールドに参照をもたせる。

成果物

参考

構造体の定義(ライフタイムの明示)

#[derive(Debug)]
pub struct Text<'a> {
    part: &'a str,
}
fn main() {
    let text = Text { part: "ABC" };
    println!("{:?}", text); // Text { part: "ABC" }
}

 <'a>の注釈は、その構造体Textインスタンスが、フィールドpartに保持している参照よりも長生きしないことを意味する。

 今まで構造体のメンバには参照を使えなかった。文字列ならString型は使えるが&str型は使えなかった。それが、今回ライフタイム明示によって使えるようになった。

pub struct Text {
    part: &str, // error[E0106]: missing lifetime specifier
}

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux

前回まで




以上の内容はhttps://ytyaru.hatenablog.com/entry/2020/09/11/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14