gpt4 book ai didi

c++ - key 存在于 map 变量中,但 find 找不到它

转载 作者:行者123 更新时间:2023-11-30 02:45:59 25 4
gpt4 key购买 nike

我创建了一个名为 MyClass 的类并将映射定义为:

    map<string,myClass> myClassSample;

我插入了一个变量和键:

     myClassSample["id"].setString1_1("hi");

注意:setString1_1是类的setter

然后我使用此代码查看 key 是否可用:

    if (myClassSample.find("id") != myClassSample.end())
{
printf("Problem");
}

问题 显示为输出。所以条件是真的!但是函数可以返回字符串!

return myClassSample["id"].getString1();

注意:getString1是类的getter

最佳答案

你好像对map::find的理解有误作品。当您正在搜索的键找不到时,它返回 end() 迭代器。所以你检查 key 是否存在的条件需要是

if (myClassSample.find("id") == myClassSample.end())
// ^^ ==, not !=
{
printf("Problem");
}

关于c++ - key 存在于 map 变量中,但 find 找不到它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23977190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com