プログラムの安全性を向上させるために、Booststrongtypedefユーティリティをよく使用します。たとえば、次のようなコードを記述します。
BOOST_STRONG_TYPEDEF(int, X)
BOOST_STRONG_TYPEDEF(int, Y)
BOOST_STRONG_TYPEDEF(int, Width)
BOOST_STRONG_TYPEDEF(int, Height)
struct Rect {
Rect(X x, Y y, Width w, Height h);
};
// Usage:
Rect rect(X(10), Y(20), Width(800), Height(600));
ここでの強力なtypedefは、コードの可読性と安全性の両方を向上させます。(引数が間違った順序で提供された場合、コンパイラーはエラーを報告します。これは、引数がすべての場合には当てはまりませんでしたint
。)
私の質問は次のとおりです。
- この目的でBOOST_STRONG_TYPEDEFを使用しても大丈夫ですか?(ドキュメントは非常に簡潔です。)
- 代わりにブーストパラメータライブラリを好む重要な理由はありますか?