私は、CppCon 2014の"Hourglass API" talkのcompanion codeを見ていました。これはC++ライブラリにC APIを提供することです主に、Cの署名を持つ関数を持つクラスのメンバ関数をラップすることによって行われます。新しいT(...)とstd :: make_uniqueの比較<T>(...)
とりわけ、私はオブジェクトがどのように構築されているかに興味を持っています。新しいhairpoll
オブジェクトを構築する機能hairpoll_construct
では、ポインタは実際に例外を処理関数内で呼び出され
std::make_unique<hairpoll>(person).release()
することによって得られます。より単純な方法は、プレーンに頼ることです。
new hairpoll(person)
前者が望ましいシナリオは何ですか?これは、この擬似APIがどのように機能するのか、これよりも一般的なのでしょうか?
可能な場合は、もはや 'new'を使用しないことがあります。 – Jarod42