のは、私はこのコードを持っているとしましょう:他の場所で使用され、各for
サイクルは他から独立していないポインタの割り当て先:解放する必要がありますか?
for (int i=0;i<n;i++) {
//compute z
float *p = (float *) malloc (sizeof(float)*z);
//do something with p
}
お知らせp
こと。
はのは、z
はそれほど大きくないので、単一p
がmemmoryの面でその高価ではないと仮定しよう。ただし、n
は潜在的に大きいので、合計メモリはp
となります。
for (int i=0;i<n;i++) {
//compute z
float *p = (float *) malloc (sizeof(float)*z);
//do something with p
free(p);
}
ボーナス質問:
は、それはそれはしてfree()
に正しいです時間のパフォーマンスを優先(とないメモリ消費量)であるかどうそれは時間がかかるなので、free(p)
を避けるために良いだろう?
なぜC++タグがここにありますか? –
@EdgarRokyanあなたが正しいです。 – justHelloWorld