【发布时间】:2017-01-12 16:29:21
【问题描述】:
我在看 CppCon 2014 的 "Hourglass API" talk 的 companion code,它主要通过使用具有 C 签名的函数包装类的成员函数来为 C++ 库提供 C API。
除其他外,我一直对对象的构造方式很感兴趣。在构造新的hairpoll对象的函数hairpoll_construct中,指针通过
std::make_unique<hairpoll>(person).release()
它实际上是在处理异常的函数中调用的。更简单的方法是诉诸平原
new hairpoll(person)
在哪些情况下前者更可取?这是否与这个特殊 API 的工作方式有关,还是比这更通用?
【问题讨论】:
-
如果可能,可能不再使用
new。
标签: c++ constructor unique-ptr