簡體   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