Slide 7
Slide 7 text
RUSTでよかったこと~ライフタイム
• C言語ではライフタイムの概念がない→寿命の切れたポインタ参照の危険性
• 例:https://wandbox.org/permlink/g5wg0V9BJUe1aePd
• 関数内ローカル変数へのポインタを呼び出し元で使おうとしている
• 警告は出るがコンパイルできてしまい、実行時に落ちる
• Rustならそのようなことはない
• 例:https://play.rust-
lang.org/?version=stable&mode=debug&edition=2018&gist=6dbc58dd26cfd4
476496b924ef6c0ab9
• 関数内ローカル変数のライフタイムは呼び出し元では終わっているのでコンパイルで
きない
• staticなどライフタイムを適切に延長する必要がある