目前,我一直在以编程方式从二进制数据文件中读取数据列表,如下所示:
tplR = (double*) malloc(sampleDim[0]*sizeof(double)); printf("tplR = %d\n", fread(tplR, sizeof(double), sampleDim[0], dfile));
但是,由于我想find_if()
在这些列表上使用函数,我需要将tplR转换为stl中的列表类型.就一般的C++编程实践而言,通常只有在我必须时才将tplR放入列表中才是好的做法?
如果我确实创建了另一个成员变量,例如tplRList,那么将所有sampleDim [0]个双精度条目数从tplR推送到tplRList的最简单方法是什么?逐个推送它们直到增量计数器等于sampleDim [0]?
提前致谢.
您可以将find_if与数组一起使用,如下所示:
bool equals(int p)
{
return p == 9;
}
int main(int argc,char *argv[])
{
int a[10];
for(int i = 0; i < 10; ++i)
{
a[i] = i;
}
int* p = std::find_if(a, a+10, equals);
cout<<*p;
return 0;
}
Run Code Online (Sandbox Code Playgroud)