8

Rust 言語は、C++ の方法と同様に汎用コードで定数値をサポートしていますか? 言語の概要はそれを宣伝していないようです。C++ で定数を使用して型をパラメーター化すると、クライアントのニーズに応じて異なるサイズの事前割り当てバッファーを持つオブジェクトを作成できます ( stlsoft:: auto_bufferのような型)。
そうでない場合、Rust で同様の設計を実装するためのベスト プラクティスは何ですか?

4

1 に答える 1

8

いいえ、これはタイプ セーフな方法ではサポートされていません。そのためには、GHC が最近追加したような、型レベルの数値リテラルが必要になります。

ただし、Rust マクロを使用できます。マクロを使用すると、定数を含む任意の式でパラメーター化された「テンプレート」を作成できます。これにより、ここで必要なことを実行できます。現時点でこれを試すと、マクロ システムにバグや制限が見つかる可能性があることに注意してください。

于 2013-02-12T01:20:26.477 に答える