我读了一本手册说(见http://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared):
此外,
f(shared_ptr<int>(new int(42)), g())
如果 g 抛出异常,可能会导致内存泄漏。如果使用 make_shared 则不存在此问题。
为什么会导致内存泄漏?
我读了一本手册说(见http://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared):
此外,
f(shared_ptr<int>(new int(42)), g())
如果 g 抛出异常,可能会导致内存泄漏。如果使用 make_shared 则不存在此问题。
为什么会导致内存泄漏?