将动态分配的数组读入列表

sta*_*tor 0 c++

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

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]?

提前致谢.

Nav*_*een 5

您可以将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)