我有一个map<int, map<int, int>>
.
第一个键代表节点,第二个键代表一个属性,“最深”元素代表一个特定的值。
我需要检查该元素,但执行以下不必要的操作会向我的地图添加键:
map<int, map<int, int>> test;
if (test[4][3] > 5)
{
//do something
}
我认为的替代方案是
map<int, map<int, int>> test;
if (test.find(4) != test.end())
{
if (test[4].find(3) != test[4].end())
{
if (test[4][3] > 5)
{
//do something
}
}
}
有一个更好的方法吗?我不知道地图中是否存在密钥[4][3]
,我不想不必要地添加它。谢谢!