C++学习 boost学习之checked_delete
2015-05-21 10:48
274 查看
Boost中文手册下载:http://download.csdn.net/detail/skdkjxy/8723045
用法:
删除一个动态分配的对象时,必须调用它的析构函数。如果这个类型是不完整的,即只有声明没有定义,那么析构函数可能会没被调用。这是一种潜在的危险状态,所以应该避免它。对于类模板及函数模板,风险会更大,因为无法预先知道会使用什么类型。使用checked_delete 和
checked_array_delete, 可以解决这个删除不完整类型的问题。它没有运行期的额外开销,只是直接调用delete, 因此说
checked_delete 带来的安全性实际上是免费的。
如果你需要在调用delete时确保类型是完整的,就使用checked_delete 。
用法:
删除一个动态分配的对象时,必须调用它的析构函数。如果这个类型是不完整的,即只有声明没有定义,那么析构函数可能会没被调用。这是一种潜在的危险状态,所以应该避免它。对于类模板及函数模板,风险会更大,因为无法预先知道会使用什么类型。使用checked_delete 和
checked_array_delete, 可以解决这个删除不完整类型的问题。它没有运行期的额外开销,只是直接调用delete, 因此说
checked_delete 带来的安全性实际上是免费的。
如果你需要在调用delete时确保类型是完整的,就使用checked_delete 。
相关文章推荐
- checked_delete问题: Beyond the C++ STL: an introduction to boostdeleter::do_it
- boost学习之checked_delete
- c++学习 ( new, delete)
- Qt、ACE、Boost等C++著名程序库的比较和学习经验
- C++学习笔记 内存空间分配(new/delete)
- C++学习之new与delete、malloc与free
- C++“准”标准库Boost学习指南(2):Boost.Conversion
- C++中new与delete问题学习
- C++ 之Boost学习笔记--Linux下编程
- C++学习笔记:New和Delete
- 重载new()delete()的笔记----C++学习之路
- C++学习 boost学习之-Thread
- C++学习 boost学习之-bind
- C++学习之new与delete、malloc与free
- C++学习笔记--重载new和delete
- C++基础知识学习:new与delete表达式
- C++学习 boost学习之-scoped_ptr
- 【Boost】C++ Boost 学习资源列表
- [C++再学习系列] 深入new/delete:New的3种形态
- C++“准”标准库Boost学习指南(11):Boost.Function