33. 自定义删除器

Posted 干锅土鸡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了33. 自定义删除器相关的知识,希望对你有一定的参考价值。

智能指针能够保证资源绝对的释放!

template<typename T>
class MyDeletor

public:
	void operator()(T* ptr)const
	
		delete[] ptr;
	
;
template<typename T>
class MyFileDeletor

public:
	void operator()(T* ptr)const
	
		fclose(ptr);
	
;
int main()

	unique_ptr<int,MyDeletor<int>> ptr1(new int[100]);
	unique_ptr<FILE,MyFileDeletor<FILE>> ptr2(fopen("data.txt","w"));
	return 0;

lambda表达式 =》 函数对象

lambda本身就是函数对象

以上是关于33. 自定义删除器的主要内容,如果未能解决你的问题,请参考以下文章

使用微调器从自定义列表视图中删除了错误的行

boost: 使用自定义删除器序列化 shared_ptr

如何正确使用自定义 shared_ptr 删除器?

在自定义 init 方法上发送到实例的无法识别的选择器

ES自定义分词器

带有自定义删除器和分配器的 shared_ptr