目前,我一直以编程方式从二进制数据文件中读取数据列表,如下所示:

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;
}

07-28 04:42