读入文件时,通过向量分配内存很方便:
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];
}
但我只想返回一个普通数组(之后我正在使用 CUDA,其 API 使用指针)。
所以问题是vec
在函数调用结束时超出范围是否会破坏它包含的数据,如果有什么我可以做的保留它。