2023-02

rust

【rust】スマートポインタってなに?

スマートポインタを一言で 値へのアドレスとメタデータを持ち、その値の所有権を持つもの。 スマートポインタの代表例 Vec<T> String スマートポインタとして見るVec<T> Vec<T>は代表的なスマートポインタです。以下のようなポ...
rust

トレイトについて理解する

この記事で書くこと トレイトとは 引数としてトレイトを使う 戻り値としてトレイトを使う トレイト(trait)とは traitは特性という意味の英語です。 rustにおいては、トレイトとは「メソッドを集めたもの」です。このトレイトを構造体に...
rust

rustで使える(?)crate一覧【2023年版】

言語アップデートについて atcoderで、言語アップデートが行われる予定のようです。 現在はまだ準備段階のようです。 上記リンク先のスプレッドシートには以下の記載があります。 1.1 今後の進め方(2023/01/31) "ある時点でシー...
rust

rustのライフタイムについて理解する

この記事について この記事ではrustのライフタイムについて、学んだことをまとめています。 ライフタイムを理解するには、「参照」と「ジェネリクス」について理解している必要があります。「参照」については別に記事を書いていますので、こちらをご参...
rust

rustでプロジェクトを管理する方法【パッケージ、クレート、モジュール】

この記事で書くこと rustのプロジェクトを管理する際に使われる概念について、学んだ内容をまとめました。以下のことがわかるように書きます。 パッケージとは何か クレートとは何か モジュールとは何か パッケージ、クレート、モジュールを使ったプ...
rust

rustのジェネリクスを理解しよう

この記事で書くこと ジェネリクスとは ジェネリクスの書き方 ジェネリクスがあることの嬉しさ ジェネリクスとは genericsの意味を調べてみると、以下のようなものでした。 generics:一般的な つまり、ジェネリクスを使用することでよ...
rust

rustの参照と借用を理解しよう

この記事で書くこと rustの参照と借用についての説明です。 所有権については別に記事を書いていますので、必要あればご確認ください。 参照と借用 参照とは 安全なポインタ変数のことです。ポインタ変数とは、変数のアドレスが保管されている変数で...
rust

rustのpetgraphの基礎的な使い方【グラフ探索編】

この記事はグラフ作成編の続きです。petgraphでグラフを作成する方法をお探しの方はこちらをご覧ください。 この記事はAtCoderで使用することを前提で記載していますので、petgraphのバージョンは0.5.0を使用します。しかし、r...