C++相談室 part87
■ このスレッドは過去ログ倉庫に格納されています
0732デフォルトの名無しさん
2011/01/07(金) 19:46:39別に問題は無いけど直接newを使うとdeleteし忘れの可能性があるし、関数のシグネチャからは内部でnewしてることがわからないので
いちいち関数の中身を見ないとdeleteが必要かどうかわからないなど保守の手間がかかるので避けたほうがいい。
この場合はstd::vector<char>を使うのがいい。スコープを超えて使いたいならスマートポインタの類を使う。
int ReadVariableData(std::vector<char>& a)
{
int size = GetSize();
a.resize(size);
ReadData(&a[0],size);
return size;
}
void main(void)
{
std::vector<char> a;
int size = ReadVariableData(a);
//処理
//delete不要
}
■ このスレッドは過去ログ倉庫に格納されています