使用boost::enable_shared_from_this的注意事項
[轉(zhuǎn)自]lemonClover的日記
使用boost::enable_shared_from_this的注意事項2011-10-26 16:44:26?1. 如果一個類繼承了boost::enable_shared_from_this,那么之后創(chuàng)建這個類的對象的時候,一定要用shared_ptr封裝起來。
?2. 一定不要在構(gòu)造函數(shù)和析構(gòu)函數(shù)里面調(diào)用shared_from_this(),否則會引起十分詭異的錯誤。
?昨天就是因為在析構(gòu)函數(shù)里面調(diào)用了另一個函數(shù),而這個函數(shù)里面使用了shared_from_this(),導(dǎo)致運行時出現(xiàn)bad_weak_ptr的錯誤,調(diào)試了一個晚上和一個上午才發(fā)現(xiàn)。
【原因分析】
為什么不能在構(gòu)造函數(shù)中調(diào)用shared_from_this