繁体   English   中英

qt 指向 qmap 的指针获取值

[英]qt pointer to qmap get value

我有一个函数需要访问 qmap 指针对象的值。

void SomeClass::SomeFunction(QMap<qint64, bool>* times, qint64 startPoint, qint64 endPoint)
{
    //Here I want to check the value at an existing index.
}

我试过的:

times[key]; 

和:

&times[key];

和:

&times[key] == 0;

两者都给出了错误的结果(该值为真,但我期望为假)。

在此处输入图片说明

在 qt 中,qmap 有一个方法:包含

times->contains(startPoint)

所以要走的路是:

if (times->contains(startPoint))
{
    ....
}

更新:

要获得指针的值,您需要了解运算符优先级,即您必须执行以下操作:

std::map<int, bool>*x = new std::map<int, bool>();
x->insert ( std::pair<int, bool>(0,false) );
x->insert ( std::pair<int, bool>(5,true) );
bool flag = (*x)[0];
std::cout << "at 0: " << flag  << std::endl;

flag = (*x)[5];
std::cout << "at 5: " << flag << std::endl;

所以在你的情况下

bool flag = (*times)[startPoint];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM