Rogue Wave バナー
前へマニュアルの先頭へ目次索引次へ

21.1 概要

標準 C++ ライブラリの新しい特徴は、拡張環境で提供される基本型の特性を記述するために編成された機構にあります。従来の C および C++ ライブラリでは、これらの特性は記号定数の多数の集合によって記述されるのが一般的でした。たとえば、1 文字に格納できる表示可能最小値は、CHAR_MIN という定数で表され、short の同様の定数は SHRT_MIN、float は FLT_MIN のように表されます。

テンプレートクラス numeric_limits は、この情報をすべての数値型について表示する、新しい一貫した方法を提供します。新規データ型ごとに異なる記号名を使用する代わりに、このクラスは min() という名の、適当な値を返す単一の静的関数を定義します。このクラスを特殊化することにより、サポートされる各型ごとに正確な値が提供されます。この方法では、最小文字値は関数 numeric_limits<char>::min() の呼び出し結果として返され、最小浮動小数点値は関数 numeric_limits<float>::min() の呼び出し結果として返されます。

テンプレートクラスを使用すると、操作環境の記述のために定義する必要がある記号名の数が著しく減少するだけでなく、さまざまな型の記述間の一貫性も保証されます。

互換性のために、従来の C++ ライブラリに使用されていた記号定数に加えて、厳密な置換ではなく numeric_limits 機構が使用されます。したがって、現在は 2 つの機構が同時に存在します。ただし、numeric_limits 手法の方が一貫性があり、拡張が容易なため、従来の記号定数に置き換わることが予想されます。


前へマニュアルの先頭へ目次索引次へ
Copyright (c) 1998, Rogue Wave Software, Inc.
このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。
OEM リリース, 1998 年 6 月