我正在尝试使以下地图正常工作:
enum ttype { shift, reduce }
map <string, pair<ttype, int> > lookup;
所以这很好用,但我需要一种方法来检查是否找不到密钥。例如,效果如下:
cout << (lookup["a"]==NULL) << endl; // this is wrong, but I am trying to find a way to identify when lookup["a"] does not find a corresponding value
似乎如果找不到键,map 将返回默认构造值(例如,如果它映射到字符串,它只会返回空字符串,我可以检查是否查找 ["a"] == “” - 但我不知道 std::pairs 的默认构造值是什么)。