我经常使用 Boost strong typedef 实用程序来提高我的程序的安全性。例如通过编写如下代码:
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 吗?(文档非常简短。)
- 是否有重要的理由更喜欢 boost 参数库?