boost::checked_delete作用介绍
来源:互联网 发布:梵高怎么得的精神 知乎 编辑:程序博客网 时间:2024/05/29 18:20
C++标准(版本5.3.5/5)允许使用delete删除incomplete class types指针,但如果class的析构函数有特定数据操作,或者具有自定义的operator delete成员函数,那么删除指针的操作将导致不确定后果。
这个问题同样存在于smart pointer的析构函数中,比如:boost::scoped_ptr<T>::~scoped_ptr,如果T是一个incomplete type,那么可能会造成极隐秘的诡异错误。
boost提供了2个函数模版与2个类模板工具来解决这个问题,在<boost/checked_delete.hpp>中定义了checked_delete andchecked_array_delete 函数模版,以及checked_deleter andchecked_array_deleter类模板。这些函数和类要求传给他们的参数是complete type,否则将导致编译错误。
- boost::checked_delete作用介绍
- boost::checked_delete作用介绍
- boost::checked_delete作用介绍
- boost::checked_delete
- boost学习之checked_delete
- boost checked_delete 学习
- C++学习 boost学习之checked_delete
- checked_delete理解
- checked_delete/checked_array_delete
- 【Boost】boost::noncopyable介绍
- 【Boost】boost::function介绍
- 【Boost】boost::dynamic_bitset介绍
- 【Boost】boost::noncopyable介绍
- 【Boost】boost::noncopyable介绍
- 【Boost】boost::function介绍
- 【Boost】boost::function介绍
- 【Boost】boost::function介绍
- 【Boost】boost::noncopyable介绍 .
- Flex的默认主程序
- FRM-92101:forms Server在启动过程中失败
- Redis实战之征服 Redis + Jedis + Spring (二)
- C#中窗体使用Invoke和BeginInvoke详解
- Power Strings(kmp 重复子串)
- boost::checked_delete作用介绍
- excelDownload
- Android项目实战--手机卫士18--读取用户的短信内容以及短信备份
- 黑马程序员------Java的泛型(原理应用、自定义泛型)
- log4j:ERROR Could not instantiate class [org.apache.hadoop.hive.shims.HiveEventCounter].
- PowerDesigner 学习及使用
- Delphi JSON 天气预报
- 线程同步与互斥
- 温度PID的整定过程