以下のようにサイズ1のオブジェクトを割り当てると
int *arr = new int[1];
またはを使用してオブジェクトを削除する必要がありますoperator delete[]
かoperator delete
?
私が懸念している理由は、コンパイラがステートメントをUB のint *arr = new int
呼び出しを引き起こす単一の要素割り当てとして変換するのに十分スマートであるかどうかです。operator delete[]
ユーザーケース:
私はポインターを持っています。これはさまざまな方法で割り当てられますが、最終的には削除したいと思います。int *arr = new int[1]
単一要素の割り当てについて、一貫して使用する場合、一貫して安全に使用できるかどうか疑問に思っていましたoperator delete[]
ノート
あなたの答えを裏付けるために、基準を参照していただけますか?