评估<classtype *>向量中所有项目的bool的最有效方法,如果all为true则返回true

时间:2017-05-23 10:40:00

标签: c++ vector

我有一个指向我创建的类实例的指针向量,其中包含多个值,名为Record 它有一个值,当我访问它时我

bool recordDeleted; bool recordOwnership;

vector<Record*> RecordsVec

我想创建一个类似于

的函数
bool func()
{


    for (auto it = RecordsVec.begin(); it < RecordsVec.end(); it++)
    {
       // check whether recordDeleted is true // or recordOwnership == true)



    }
    // if all are true
       // return true
       // else
       // return false
}

最有效的方法是什么?

1 个答案:

答案 0 :(得分:2)

非常简单:

bool allDeleted() {
    return std::all_of(begin(RecordsVec), end(RecordsVec), [](Record *r) {
        return r->recordDeleted;
    });
}

当然,你的所有权标志也一样。