![](https://cdn-ak-scissors.b.st-hatena.com/image/square/6df39b829e71fefa1261db68503372e7ec1deee8/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UnVzdCUyMCVFMyU4MSVBNyVFMyU4MyU4OCVFMyU4MyVBQyVFMyU4MiVBNCVFMyU4MyU4OCVFMyU4MiVBQSVFMyU4MyU5NiVFMyU4MiVCOCVFMyU4MiVBNyVFMyU4MiVBRiVFMyU4MyU4OCVFMyU4MSVBOCUyMGVudW0lMjAlRTMlODElQUUlRTMlODMlODclRTMlODIlQTMlRTMlODIlQjklRTMlODMlOTElRTMlODMlODMlRTMlODMlODElRTklODAlOUYlRTUlQkElQTYlRTYlQUYlOTQlRTglQkMlODMmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTMxM2UzNzk4NGY2Njk5MDBkYzY2MTllY2JkMmFjZWY0%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBjYXJyb3RmbGFrZXMmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPThjNTZkYWU3NDUxODkxOTQyMWE4OTllM2ZiODAxNzFl%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-TmV4dHJlbWVy%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%2523212121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3Ddd5bdd9dc1d6366d0566f07419daec75)
エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Rust でトレイトオブジェクトと enum のディスパッチ速度比較 - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Rust でトレイトオブジェクトと enum のディスパッチ速度比較 - Qiita
はじめに Rust で同一のインターフェイスを持つオブジェクトを単一の型に収めてオブジェクトごとに違う... はじめに Rust で同一のインターフェイスを持つオブジェクトを単一の型に収めてオブジェクトごとに違う処理を呼び出したいケースを考えます。 そのときに考えられる方法が、トレイトオブジェクトを使う方法と、enum を使う方法です。 トレイトオブジェクトを使うと以下のような感じです。 構造体 A と B を、 Box<dyn Trait> という同じ型に入れることができ、その状態でメソッド f() を呼び出すことができます。 (この記事ではトレイトオブジェクトを Box に入れた場合のみを扱います) trait Trait { fn f(&self) -> usize; } struct A(usize); struct B(usize, usize); impl Trait for A { fn f(&self) -> usize {self.0} } impl Trait for B {