は、私は、動的に配列を割り当てられたときに[]`(unsigned int n
が関数にパラメータとして渡されている可能性があります)を削除します。私はそれを使用して行われています使用 ``新しい[0] `
int * ar = new int [n];
:
delete [] ar;
しかし、n = 0
の場合はどうなりますか? 0
int
は全く割り当てないのと同じですか? その場合、に電話すると、悪いことが起きますか??
は、私は、動的に配列を割り当てられたときに[]`(unsigned int n
が関数にパラメータとして渡されている可能性があります)を削除します。私はそれを使用して行われています使用 ``新しい[0] `
int * ar = new int [n];
:
delete [] ar;
しかし、n = 0
の場合はどうなりますか? 0
int
は全く割り当てないのと同じですか? その場合、に電話すると、悪いことが起きますか??
new
はゼロサイズの配列で、それはdelete
です。これは何よりも便利です。0
のケースに対して別の条件を記述する必要がないためです。
あなたが実際に何かのために*使用しようとしない限り、 –
_Phew!_私は非常に怠惰なので、私はすべての方法で、 '0'のための別の条件を書く必要はありません。 ':D' –
https://stackoverflow.com/questions/1087042/c-new-int0-will-it-allocate-memoryそして、あなたは何か(割り当てを管理するためのデータ)を割り当てます。何もしないことと同じではありません。 – deviantfan
@deviantfan - 私の悪い!私はあなたが "新しい" '0できますか"という言葉を書いていたのに対し、 "あなたは"あなたが "0"を削除できるかのように表現していたので、重複は見つけられませんでした(ちょっと同じことです) 。このQを削除すべきですか? –
std :: vectorを使用してください! –