0

type_traits列挙型の基になる型を取得するためだけにヘッダーを含めることは本当に価値があるのだろうかと思っていました。できるだけ柔軟にしたいFlagsクラスを作成しているのでstd::underlying_type<T>::type、タイプを取得するために使用しています。たとえば使用できますintが、ユーザーが32を超えるフラグを使用したい場合はどうなりますか?だから私の質問は、頻繁に使用するとコンパイル時間が大幅に遅くなる可能性があるということです。

4

1 に答える 1

1

std::underlying_type が必要な場合は、それが必要です。独自のコードを作成したり、コードを変更したりすることは意味がありません。コンパイル時間を最小限に抑えたい場合は、ヘッダーでテンプレート クラスを前方宣言し、.cxx ファイルのみで type_traits.cxx をユーティリティします。これにより、別のファイルで必要のないヘッダーを必ずしも継承する必要がなくなります。 .

于 2012-11-16T15:53:10.567 に答える