嘗試todo一個簡單的shared_ptr矢量和崩潰?我懷疑我正在做一些明顯錯誤的事情?BOOST_FOREACH崩潰boost :: shared_ptr?
std::vector< shared_ptr<SUBCLASS> > m_vecSections;
shared_ptr<SUBCLASS> hoodSection;
BOOST_FOREACH(hoodSection, m_vecSections){
//do something
}
我得到的
void add_ref_copy()
{
atomic_increment(&use_count_);
}
你有repros問題,我們可以看一個小的測試案例/編譯? – Caribou
SUBCLASS上的規則3,也許?您的FOREACH將調用複製構造函數... – Roddy
識別的代碼中沒有任何內容可能會導致崩潰。請發佈一個仍然存在問題的最小代碼示例...如果您真的希望得到答案。請注意,您可以使用'BOOST_FOREACH(std :: shared_ptr const&hoodSection,m_vecSections)'來避免複製問題,但它不完全等效。 –