c++11 智能指针删除器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012592081/article/details/51997391

其实很简单自己上代码:

#include <string>
#include <stdio.h>
#include <iostream>
#include <malloc.h>
#include <memory>
using namespace std;

struct struct_s
{
   int i;
};

 void delete_struct(struct_s* p)
{
     printf("hehe\n");
     free(p);
     p=NULL;
}

void fun()
{
    struct_s* t = (struct_s*)malloc(sizeof(struct_s));
    shared_ptr<struct_s> sp(t ,delete_struct); //删除器可以改变share_ptr销毁对象行为
}

int main()
{
    printf("main in\n");
    fun();
    printf("fun call\n");
    return 0;
}


阅读更多
相关热词
换一批

没有更多推荐了,返回首页