C ++では、未定義の数値を表すために大きな値のペアを使用したいと思います。
void setUndefined(float& a) {
a = set_undefined_value;
}
bool isUndefined(float a) {
return a > is_undefined_value;
}
このアプローチをすべての数値タイプに使用したいので、テンプレート化されたコードから、テンプレートの方針に沿って考えていました。
template<typename T>
class Undefined {
public:
static T set_undefined_value() {
NOT_IMPLEMENTED_FOR_THIS_TYPE_YET;
}
static T is_undefined_value() {
NOT_IMPLEMENTED_FOR_THIS_TYPE_YET;
}
};
// Template specialization for all numeric types: ...
すべての数値タイプに適した値のペアを見つけるにはどうすればよいですか?
たとえば、std :: neuro_limits :: max()テンプレートを使用する方法はありますか?
未定義の値をファイルに書き込んだ場合、それらはコンピューターやOS間で移植可能ですか?