2023年11月23日のブックマーク (2件)

  • [Rust] スマートポインタの基礎 | DevelopersIO

    Introduction 最近はRustを使う機会がたまにあるのですが、 もともと仕事ではJavaJavaScriptを使うことが多かったので そういった言語との違いには少々苦労しています。 Rustを学習するにあたって壁となると思われるポイントはいくつかありますが、 その中のひとつ、スマートポインタについて自分が学んだ結果を記述します。 なお、稿サンプルコード実行についてはRustのPlayGroundにて行いました。 Smart Pointer? ポインタというと、メモリのアドレスを含む変数の一般的な概念です。 C/C++などの言語に慣れている人ならよく知っていると思います。 この「アドレス」というやつは、何かの他のデータを参照したり指し示したりします。 Rustで最も使用されるポインタは↓のような「参照」です。 &記号を用いて指している値を借用することが可能です。 それ以外の特殊

    [Rust] スマートポインタの基礎 | DevelopersIO
    thangnvbkhn
    thangnvbkhn 2023/11/23
    rust stack heap pointer
  • トレイト:共通の振る舞いを定義する - The Rust Programming Language 日本語版

    トレイト: 共通の振る舞いを定義する トレイトは、Rustコンパイラに、特定の型に存在し、他の型と共有できる機能について知らせます。 トレイトを使用すると、共通の振る舞いを抽象的に定義できます。トレイト境界を使用すると、 あるジェネリックが、特定の振る舞いをもつあらゆる型になり得ることを指定できます。 注釈: 違いはあるものの、トレイトは他の言語でよくインターフェイスと呼ばれる機能に類似しています。 トレイトを定義する 型の振る舞いは、その型に対して呼び出せるメソッドから構成されます。異なる型は、それらの型全てに対して同じメソッドを呼び出せるなら、 同じ振る舞いを共有することになります。トレイト定義は、メソッドシグニチャをあるグループにまとめ、なんらかの目的を達成するのに必要な一連の振る舞いを定義する手段です。 例えば、いろんな種類や量のテキストを保持する複数の構造体があるとしましょう:

    thangnvbkhn
    thangnvbkhn 2023/11/23
    rust trail