|
|
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
как получить указатель на последнюю добаленную пару std::map ? делаю так: Код: plaintext но видимо оно внутри пересортировывается, поэтому не всегда получаю то, что надо, если конечно причина в этом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 16:14:46 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
Канечно сортируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 16:27:04 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
сделал получение итератора сразу чере std::pair, но все же было бы неплохо узнать, есть ли возможность в любой момент получить итератор на последнюю добавленную пару? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 16:29:57 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
Tubrikно все же было бы неплохо узнать, есть ли возможность в любой момент получить итератор на последнюю добавленную пару? Только полным перебором и искать по своему идентификатору (признаку). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 16:49:12 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
Насчёт полного перебора - это сгоряча, сгоряча... Если запоминаешь ключ, то можно пользоваться iterator find(const key_type& k) ну, а если нет, то вот такое вполне сойдёт Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 17:03:47 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
man_555Насчёт полного перебора - это сгоряча, сгоряча... Согласен, малесь погорячился... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 17:19:23 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
man_555Насчёт полного перебора - это сгоряча, сгоряча... Если запоминаешь ключ, то можно пользоваться iterator find(const key_type& k) ну, а если нет, то вот такое вполне сойдёт Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. map::insert() возвращает пару pair<iterator,bool> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 17:31:30 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
blinded man_555Насчёт полного перебора - это сгоряча, сгоряча... Если запоминаешь ключ, то можно пользоваться iterator find(const key_type& k) ну, а если нет, то вот такое вполне сойдёт Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. map::insert() возвращает пару pair<iterator,bool> Ну и что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 17:36:20 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
blinded man_555Насчёт полного перебора - это сгоряча, сгоряча... Если запоминаешь ключ, то можно пользоваться iterator find(const key_type& k) ну, а если нет, то вот такое вполне сойдёт Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. map::insert() возвращает пару pair<iterator,bool> Tubrikсделал получение итератора сразу чере std::pair я так и сделал, всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 17:37:24 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
blindedmap::insert() возвращает пару pair<iterator,bool> Эх давайте тогда уточним, что insert имеет три прототипа. Для возвращаемой пары совсем другой прототип: pair<iterator, bool> insert(const value_type& x), в моём же примере возвращается только итератор, так что намёка не понял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 17:55:40 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
Да никаких намеков, просто эта форма возвращает итератор без информации толи такое значение ключа уже было толи его только что добавили. Соотв нет гарантии что second той самый что добавляли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 19:23:20 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
blindedДа никаких намеков, просто эта форма возвращает итератор без информации толи такое значение ключа уже было толи его только что добавили. Соотв нет гарантии что second той самый что добавляли т.е. если он уже был (соотв. не добавился) то что вернет в second? разве не ранее добавленный second? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 19:30:56 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
ранее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 19:32:56 |
|
||
|
std::map, как достать последний добавленный?
|
|||
|---|---|---|---|
|
#18+
blindedранее в моем случае это все равно достигает цели ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2007, 19:44:19 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34983070&tid=2027709]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
201ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 534ms |

| 0 / 0 |
