これは、ゼロ以外の型のベアボーンです。C++の従属型、非ゼロ型
template<typename T>
struct NonZero {
T val;
};
それはタイプT
のリテラルを取り、静的にそれがゼロ以外だと、その後val
に割り当てるかどうかを確認するためにどのNonZero
のコンストラクタを作ることが可能かどう私の質問はあります。
NonZero<int> n(0); // compilation error
NonZero<int> n(1); // ok
また、非ゼロ型を実現する良い方法がありますか?
私の理解するために、具体的な実装では、唯一のテンプレートの特殊化によって提供することができます;それは何が望ましいのですか? – Codor
'NonZero n(var)'も可能なはずなので、もっと簡単な方法があるのだろうかと思っていました。 –
Sherushe