ジェネリック型Tのプロパティを持つ構造体を作成したいと思います。このジェネリック型は計算に使用されるので、Tをi32、u32、f32、uf32、i64などのすべての種類の数値型にしますどのように私はそれを達成することができますか?Tustを拘束して、数値型のみを受け入れることはできますか?
1
A
答えて
5
これはnum-traits crateが使用できるものです。 Num
traitは、すべての数値型に対して実装されています。
これはあなたのジェネリック型T
は、予想数値演算子のすべてを持っているAdd
、Sub
、Mul
、Div
、Rem
、PartialEq
経由で確認部分的に平等することができ、それはまた1
とT
ため0
の値を公開し保証します。
あなたはクレートの特性hereをどのように実装するかを見ることができます:
int_trait_impl!(Num for usize u8 u16 u32 u64 isize i8 i16 i32 i64);
関連する問題
- 1. 数値のみを受け入れる汎用型制約?
- 2. std :: tupleはautoを型として受け入れますか
- 3. C++ 11:なぜresult_ofが関数型をlvalue_referenceとして受け入れることができますが、関数型はlvalue_referenceとして受け入れることができないのですか?
- 4. 数値型のみを受け入れる汎用関数を.NETで記述することはできますか?
- 5. 同じ関数引数は異なるデータ型を受け入れることができますか?
- 6. 関数で複数の型をパラメータとして受け入れる方法は?
- 7. Javaでキャッチしようとすると整数入力のみ受け入れることができます
- 8. Swift関数はある範囲の値だけを受け入れることができますか?
- 9. マスクされたテキストボックスには数字とカンマのみを受け入れることができますか?
- 10. 関数は静的関数ポインタを引数として受け入れることができますか?
- 11. これはパスワードを受け入れることができますか?
- 12. Pythonで "def"関数をオーバーロードして、型付き引数を受け入れる方法はありますか?
- 13. UILabelのサブクラスを変更してカスタム値を受け入れることはできますか?
- 14. ハスケル:関数関数を拘束する|
- 15. Javaで数値のみを受け入れるテーブルフィールド
- 16. MS Accessクエリーカスタム関数は、フォームテキスト入力を値として受け入れます。
- 17. Regexは数字と数字を1つのカンマでしか受け入れることはできません
- 18. スレッド内で()を受け入れることができます
- 19. エラーコードを拘束
- 20. Vulkanパイプラインは1種類の入力プリミティブのみを受け入れることができますか?
- 21. 文字のみを入力として受け入れる
- 22. 受け入れイベントでepollを実行することはできますか?
- 23. は、任意の数の引数を受け入れること、
- 24. 特定の数値のみを受け入れるバリデータ
- 25. 参照型またはクラス型の変数は、指定された値を受け入れることができません
- 26. 私はwatinを使用してExcelシートからの入力を受け入れることができます
- 27. シェフのパッケージリソースがデータバッグを受け入れることはできますか?
- 28. Ruby rand()は変数を受け入れることができません。
- 29. データ型カードを受け入れ、ブール値を返す関数でcase式を作成できますか?
- 30. javaScript - 数値入力 - 特定の数値を受け入れる
おそらく 'Copy'トレイトに加えて、あなたが実際に必要な特性に依存しないのはなぜ?これは将来的に考案された数字や数字のようなもの(複雑な数字や非標準のサイズを考える)をカバーします。 – user4815162342