[英]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.