Utility 总结
优质
小牛编辑
126浏览
2023-12-01
本章介绍了几种工具类,它们可以大大简化我们的日常工作。BOOST_STATIC_ASSERT
提供编译期断言,它有助于我们测试前提条件或强制某些要求。对于泛型编程,checked_delete
在检查错误用法时非常有用,它可以节省我们大量的阅读可怕的错误信息和研究代码的时间。我们还讨论了 addressof
, 它是一个获得对象真实地址的小工具,不用管 operator&
有否被重载。我们还看到了 enable_if
和 disable_if
如何控制某些函数参与重载决议,并学习了 SFINAE 有何意义!
我们也讨论了基类 noncopyable
. 它既提供了好的习惯用法,也清楚地向任何看到这段代码的人表达了正确的意图,它值得你经常使用。总是在类中定义冗长的复制构造函数和赋值操作符,而不管它们是否需要定制,或是需要禁用,这种情况在很多代码中经常出现,它们浪费了太多的时间和金钱。
这是本书中最短的一章,我猜你一定很快就读完了。它很快就会给予你回报的,如果你马上开始使用这些工具的话。在Boost.Utility中还有一些其它的工具,我没在这里讨论它们。你可以访问Boost的网站,看看在线文档,找一下其它适合你当前工作的小工具。