boost::checked_delete作用介绍
时间:2011-02-17 来源:edwardlost
这个问题同样存在于smart pointer的析构函数中,比如:boost::scoped_ptr<T>::~scoped_ptr,如果T是一个incomplete type,那么可能会造成极隐秘的诡异错误。
boost提供了2个函数模版与2个类模板工具来解决这个问题,在<boost/checked_delete.hpp>中定义了checked_delete and checked_array_delete 函数模版,以及checked_deleter and checked_array_deleter类模板。这些函数和类要求传给他们的参数是complete type,否则将导致编译错误。
相关阅读 更多 +