Проверка наличия ключа и вставка в hash_map
- 23.03.09, 19:32
Часто бывает нужно проверить есть ли некий ключ в hash_map и в случае его отсутствия - вставить его с некоторым значением.
Это наиболее эффективно делать следующим образом:
std::pair<TKeyHash::iterator, bool> res = _keys.insert(TKeyHash::value_type(key, curTime.Unix()));
if (res.second) // если значение положительное - ключа небыло и он вставился
{
// делаем что-то со значением...
}
else // ключ уже был и итератор смотрящий на значение помещен в res.first
{
// делаем что-то со значением...
}
Это наиболее эффективно делать следующим образом:
std::pair<TKeyHash::iterator, bool> res = _keys.insert(TKeyHash::value_type(key, curTime.Unix()));
if (res.second) // если значение положительное - ключа небыло и он вставился
{
// делаем что-то со значением...
}
else // ключ уже был и итератор смотрящий на значение помещен в res.first
{
// делаем что-то со значением...
}
0
Коментарі
Володюсик
123.03.09, 20:26
uses crt;
var s:string
Begin
clrscr;
s:='Draal тре коменти '
writeln(s);
readkey;
end.
Draal
223.03.09, 20:44Відповідь на 1 від Володюсик
Володюсик
323.03.09, 20:48Відповідь на 2 від Draal
дві крапки з комою ще допиши за мене