-1

我是新手,boost::bimap如果这听起来像一个基本问题,请原谅我。我正在使用提升 1.75.0。

拿这段代码:

if (rBiMapStudentItemDescBefore.right.count(aryStrStudentItemDesc[i]) > 0)
{
    auto it = rBiMapStudentItemDescBefore.right.find(aryStrStudentItemDesc[i]);
    CString strNewStudentItemDesc = rBiMapStudentItemDescAfter.left.find(it->second)->second;
    pEntry->SetStudentAssignmentType(static_cast<StudentAssign>(i), strNewStudentItemDesc);
}

它工作正常。从文档或我发现的示例中我不清楚是否可以取消right.count调用并简单地测试这样的返回值it

if (it)
{

}

它不喜欢它。我如何测试是否right.find找到了结果?抱歉,如果我在文档中错过了这一点。

4

1 回答 1

-1

我仍然找不到实际的文档,但我想我有它:

auto it = rBiMapStudentItemDescBefore.right.find(aryStrStudentItemDesc[i]);
if (it != rBiMapStudentItemDescBefore.right.end())
{
    CString strNewStudentItemDesc = rBiMapStudentItemDescAfter.left.find(it->second)->second;
    pEntry->SetStudentAssignmentType(static_cast<StudentAssign>(i), strNewStudentItemDesc);

}

于 2020-12-22T09:36:48.283 回答