newで生成したクラス配列を1つだけ解放する方法
Posted: 2012年5月13日(日) 23:34
過去ログ検索でも該当項目が見つからなかったので質問させて戴きました。
動的に生成したクラス配列の中で、1つだけ開放したいのですが、良い方法があれば教えて下さい。
文章がへたで済みませんけども、例えば、
ClassA *abc;
abc = new ClassA[20];
と確保した後に、abc[5]だけ開放し、abc[0]~[4]、[6]~[19]だけ残したいような状況です。
単純に、
ClassA *xyz;
xyz = new ClassA[20];
と、生成し、そこに一旦全て内容をコピーし、
delete [] abc;
abc = new ClassA[19];
で生成した所に必要な物だけ戻すような方法は思いつくのですが、
なんだかスマートな方法ではないように思ってしまいます。
もっと良い方法は有りますでしょうか?
もしあるようであればご教授戴ければと思います。
よろしくお願いします。
動的に生成したクラス配列の中で、1つだけ開放したいのですが、良い方法があれば教えて下さい。
文章がへたで済みませんけども、例えば、
ClassA *abc;
abc = new ClassA[20];
と確保した後に、abc[5]だけ開放し、abc[0]~[4]、[6]~[19]だけ残したいような状況です。
単純に、
ClassA *xyz;
xyz = new ClassA[20];
と、生成し、そこに一旦全て内容をコピーし、
delete [] abc;
abc = new ClassA[19];
で生成した所に必要な物だけ戻すような方法は思いつくのですが、
なんだかスマートな方法ではないように思ってしまいます。
もっと良い方法は有りますでしょうか?
もしあるようであればご教授戴ければと思います。
よろしくお願いします。