グローバルクラスを置き換えることができない場合でも、クラス固有のバージョンのプレースメントが提供されます。クラスで独自のプレースメントnew演算子を提供する必要があるシナリオは何ですか?クラス固有のバージョンのプレースメントの新機能は何ですか?
私のクラスがプレースメントnewを実装しない場合でも、次のコードが機能します(abcオペレータnewがオーバーロードされていないと仮定します)。
char arr[100];
abc *pt = new(&arr)abc;
ので、私はいくつかのデフォルトの配置が新しいあり、解釈が、クラスのために、我々はnew演算子の私たち自身のバージョンを提供することができ、私の質問は、そのためのユースケースは何ですか? 他に何をして、同じポインタを返すのでしょうか?あなたが遭遇した有用な例/シナリオはありますか?
アブヘイ、新しい配置の必要性について議論する用意スレッドは、私の質問はありますか? – Learner
@learner:新しいデフォルトのプレースメントのようなものはありません。プログラマは1つを提供しなければならず、その理由がそこに記述されています。これは通常クラス固有の基準で行われるということは、コピーセマンティクスに注意する必要がある設計上の問題です(C++コーディング標準 - Item 45、By Sutter and Alexandrescu)。 – Abhay
@Abhay:次のコードは、私のクラスは、[100]配置新しい char型の編曲を実装scroll down toパソコンへ転送しても動作します。 abc * pt = new(&arr)abc; 私は解釈すると、いくつかのデフォルト配置が新しいのでしょうか? クラスでは独自のバージョンを提供できますが、私の質問はそのためのユースケースですか?何が他のことをやろうとしていて、渡された同じポインタを返しますか?あなたが遭遇した有用な例/シナリオはありますか? – Learner