[英]Re-writing this smart pointer
我将一些代码从ACE转移到Poco。 我是多线程设计的新手,所以让我有些困惑!
typedef Arc::AutoPtr<ResultSet, ACE_Thread_Mutex> QueryResult;
我无法像这样重新编写它,因为Poco :: AutoPtr仅接受一个参数作为类模板
typedef Poco::AutoPtr<ResultSet, Poco::Mutex> QueryResult;
我应该怎么写?
我不确定Arc::AutoPtr
是什么,因为我在ACE文档中找不到类似的内容。 但是,如果它与ACE_Refcounted_Auto_Ptr
相同,则Poco的对应typedef可能就是typedef Poco::SharedPtr<ResultSet> QueryResult;
。 但是从文档中尚不清楚Poco中的SharedPtr是否实现了线程安全引用计数,因此您必须注意这一点。
Poco::AutoPtr
实际上是一个侵入式智能指针,它需要指向类型的支持(类似于boost::intrusive_ptr
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.