// moveしないクロージャletmut num =0;letmut ref_cls =||{ num +=1; num
};assert_eq!(ref_cls(),1);// numはクロージャと共有されてるので変更されるassert_eq!(num,1);
rust
// moveするクロージャletmut num =0;// 本当は所有権がムーブするが、数値はCopyな型なのでコピーされるletmut ref_cls =move||{ num +=1; num
};assert_eq!(ref_cls(),1);// numはクロージャとは無関係になったので影響を受けないassert_eq!(num,0);
良いと思った回答には高評価をしましょう。
評価が高い回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。
下記のような回答は推奨されていません。
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
下記のような回答は推奨されていません。
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
2022/01/11 03:51