constexpr
変数または::std::integral_constant<>
という数値定数を使用するかどうか疑問に思っていますか?例:静的constexprの変数はどこか.cppファイル内の定義が必要になることがありますので、コンテナ内の型または変数としての数値定数?
template <typename T>
struct container
{
static constexpr ::std::size_t const size = 16;
};
template <typename T>
struct container
{
using size = ::std::integral_constant<::std::size_t, 16>;
};
私は::std::integral_constant
アプローチの方がより傾きます。
注: 'std'という名前空間は予約されているため、 ':: std'は必要ありません。 –
少ない方が良いです。 'std :: integral_constant'を使わないでください。 –
'std :: integral_constant'(値にアクセスするために使用する必要がある)の' value'メンバは静的constexprです。だから私の意見では、あなたがしたいことについては、 'std :: integral_constant'は' constexpr'を作成するための長い道のりです。 –