(一)切勿将一个指针放到两个shared_ptr中管理,否则就会出现各种catch
void TestFunc()
{
testPtr* test = new testPtr;
shared_ptr<testPtr> testPtr1(test);
test = testPtr1.get();
shared_ptr<testPtr> testPtr2(test);
}
testPtr2会先释放testPtr所指向的对象,然后testPtr1又会去释放一次testPtr所指向的对象,导致异常或者崩溃