请阅读该文档(http://www.boost.org/doc/libs/1_49_0/libs/smart_ptr/shared_ptr.htm),回答以下问题:
- boost::shared_ptr能存放数组指针吗?如果不能,应该使用什么?
- 与std::auto_ptr相比,boost::shared_ptr有什么优势?
- 对于一般指针的dynamic_cast,boost::shared_ptr应该怎么cast?
- 什么情况下使用shared_from_this?
- 如何获取shared_ptr中保存的具体对象的指针?
- 如果要释放某shared_ptr对指针的引用,应该怎么操作?
- 什么情况使用weak_ptr?
- shared_ptr怎么管理file, MYSQL_RES, CURL等资源?