智能指針內容很多,重點是基本用法。
#include <boost/shared_ptr.hpp>
CBase: boost::enable_shared_from_this<CBase>
{
:
f(){}}
typedef boost::shared_ptr<CBase> CBasePtr;
CChild: CBase
{}
typedef boost::shared_ptr<CChild> CChildPtr;
main()
{
CBasePtr ptrBase = boost::make_shared<CBase>();
CChildPtr ptrChild = boost::dynamic_pointer_cast<CChild>(ptrBase);
CBasePtr ptrXXX = ptrChild;
CChildPtr ptrXX = CChildPtr(dynamic_cast<CChild*>(ptrXXX.()));
}暫時學會這些用法即可。
url:http://greatverve.cnblogs.com/p/smart-ptr.html
new、delete匹配問題,真的有必要嗎?看完這篇文章後,我想你心裡自然會有答案。
std::auto_ptr
boost::scoped_ptr
boost::shared_ptr
boost::scoped_array
boost::shared_array
boost::weak_ptr
8boost::intrusive_ptr
-----------------------
error C2683: “dynamic_cast”:“XXX”不是多態類型
end