たとえば、最初のタイム スロットは 30 分ですが、2 番目のタイム スロットは 40 分にすることができ、最初の利用可能なスロットは (同等の値で) から開始します。に) 1.
私が今やりたいことは、このクラスが取る最大値と最小値をどうにかして定義することです。そのためには、2 つの実際的な質問があります。
1.- カスタム クラスに対して、そのような方法で絶対最小値と最大値を定義することは理にかなっていますか? または、クラスで定義された関係演算子を考慮して、最小値を定義するために、値が常に型の他の可能な値よりも低いものとして比較するだけで十分ですか? (そして同様に最大)
2.- 前の質問に「はい」(または「はい、でも ...」) をモデルにした回答があると仮定すると、そのような最大/最小をどのように定義すればよいですか? あることは知っていますstd::numeric_limits<>
が、私が読んだことから、それは「数値型」を対象としています。それを「数として表される」と解釈するか、それとも「数で表される」とか「整数に対応する」などのより広い仮定をすることができますか? 結局のところ、日付クラス、およびおそらく辞書クラスの最小値と最大値を定義することは理にかなっていますが、numeric_limits
それらの使用を意図していない可能性があります (私はそれについてあまり経験がありません)。さらに、numeric_limits
何を作ればいいのかわからない余分なメンバーと情報がたくさんあります。使わないとnumeric_limits
、クラスで使用可能な値の範囲を示すためにC++が提供する他のよく知られた/広く使用されているメカニズムは何ですか?