ファイルを読み込むときは、ベクターを介してメモリを割り当てると便利です。
someType* readCSV() {
std::vector<someType> vec;
someType x;
...
while(fscanf(f, parser, &x) != EOF) {
vec.push_back(x);
getc(f); // skip comma
}
return &vec[0];
}
しかし、私は通常の配列を返したいだけです(その後、APIがポインターを使用するCUDAを使用しています)。
したがって、問題はvec
、関数呼び出しの最後にスコープ外に出ると、そこに含まれるデータが破棄されるかどうか、そして何かできることがあればそれを保存するかどうかです。