我想創建一個字典類的類的樂趣在C + +中,類似於在Python中可以指定一個鍵和一個值(可能是任何類型的這種情況下,包括自定義類)。密鑰不斷被替換字典C++
for (unsigned int x = 0; x < word.length(); x++) {
if (!map.has_key(word[x])) {
std::cout << "CREATING " << word[x] << std::endl;
map[word[x]] = ics::ArraySet<char>();
map[word[x]].insert(word[x]);
}
for (int y = 0; y < dist; y++) {
std::cout << "HELLO!" << std::endl;
if ((x + y) < word.length())
std::cout << "ADDING " << word[x+y] << std::endl;
map[word[x]].insert(word[(x + y)]);
if ((x - y) >= 0)
map[word[x]].insert(word[(x - y)]);
}
}
發生的問題是我的密鑰不斷被替換。我試圖找到當前字母「x」範圍內的字母。我將這些附近的鍵追加到一個集合中,這是我的字典在這種情況下的價值。
有關示例:附近(賽車,2)
應該返回一個字典,像這樣的值...
字典( 'R' - > {R,A,C}, 'A' - > {R,C,E},...)
但是,什麼情況是,
if (!map.has_key(word[x]))
不斷失敗,我的鑰匙一直被重新每隨着時間的推移。你相信你的壓痕
[MCVE]請照常(和要求)? –