我試圖訪問特定鍵的映射值,只要該鍵存在。訪問映射的值,如果其密鑰存在C++
要檢查鑰匙存在,我有:
if (pos.find(test[i]) != pos.end())
裏面的if語句我希望增加我的櫃檯這樣的:
posProb *= pos[test[i]]->second;
整個功能被設置爲這:
void compute(vector<string> test, map<string, double> pos, map<string, double> neg) {
double posProb = 1, negProb = 1;
for (int i = 0; i < test.size(); i++) {
if (pos.find(test[i]) != pos.end())
posProb *= pos[test[i]]->second * UNDERFLOWVAR;
else posProb *= pos.find("UNK")->second * UNDERFLOWVAR;
}
cout << posProb;
我該如何調整我現在有的東西,以便我可以適當地訪問第二個變量(價值)我的地圖?
你的初始值是0,所以你正在做的是用0 – PaulMcKenzie
@PaulMcKenzie這是我的第二個問題乘以!謝謝你接受! – Shannon