这里用一个lambda来作为shared ptr的删除器,lambda没有做任何操作,保证这份数据的内存管理不受这个sharedptr影响。
编译器报错:static assertion failed due to requirement ***deleter expression is well-formed
所以lambda删除器接受的参数必须是sharedptr管理的对象类型。不过加上了noexcept
不是必须的,不过显然这个删除器不会抛出异常,可以让编译器执行某些优化。
这里用一个lambda来作为shared ptr的删除器,lambda没有做任何操作,保证这份数据的内存管理不受这个sharedptr影响。
编译器报错:static assertion failed due to requirement ***deleter expression is well-formed
所以lambda删除器接受的参数必须是sharedptr管理的对象类型。不过加上了noexcept
不是必须的,不过显然这个删除器不会抛出异常,可以让编译器执行某些优化。