質問タイトルが暗示するように、静的定数がある場合。大量の静的配列を考えて、使用する静的配列を決定する必要があります。私は、いくつかの条件をチェックし、必要な静的配列へのポインタを返すことでそうすることができます。静的を指すローカルポインタを削除する必要があります
ただし、私が(type) * (name) = (static array)
を一部の機能に保存すると、delete
に電話する必要がありますか?
質問タイトルが暗示するように、静的定数がある場合。大量の静的配列を考えて、使用する静的配列を決定する必要があります。私は、いくつかの条件をチェックし、必要な静的配列へのポインタを返すことでそうすることができます。静的を指すローカルポインタを削除する必要があります
ただし、私が(type) * (name) = (static array)
を一部の機能に保存すると、delete
に電話する必要がありますか?
「静的な配列」であなたはどこかstatic int x[100];
を宣言し、あなたの関数がx
の最初の要素へのポインタを返す意味(int *foo
がreturn x;
で終わる例えば機能、そしてあなたがint *bar = foo();
を行う)、いいえ、あなたは間違いなく「ドン場合そのポインタdelete
したくない。 new
でヒープから割り当てられていないので、delete
dであってはなりません。 delete
はヒープメモリのみを処理します。
delete
は、ターゲットメモリがnew
によって割り当てられている場合にのみ必要です。
いいえ、 'new'で割り当てられていないポインタに対して' delete'を呼び出すか、 'delete []'と 'delete'を混在させても、未定義の動作になります。 – dasblinkenlight