如果我想创建一个QueueList类型的删除程序(一些自定义对象),我如何为它定义一个删除程序,或者已经有一个模板‘unique_ptr’我可以使用?
我想要一个unique_ptr,这样我就可以在线程之间安全地传输对象,而不需要在线程之间共享它。
编辑
boost::interprocess::unique_ptr<QueueList> LIST; ///FAILS to COMPILE!!!
LIST mylist;编译器: MS Visual Studio 2003
错误:
错误C2976:'boost::interprocess::unique_ptr‘:模板参数太少
错误C2955:'boost::interprocess::unique_ptr‘:使用类模板需要模板参数列表:请参见'boost::interprocess::unique_ptr’的声明
发布于 2010-10-06 23:13:28
下面是一个简单的deleter类,它只对任何给定的对象调用delete:
template<typename T> struct Deleter {
void operator()(T *p)
{
delete p;
}
};然后可以将其与unique_ptr一起使用,如下所示:
boost::interprocess::unique_ptr<QueueList, Deleter<QueueList> > LIST;https://stackoverflow.com/questions/3873750
复制相似问题