|
|
|
std::map Traits
|
|||
|---|---|---|---|
|
#18+
Есть std::map <CString,CString> Надо сравнивать значения Ключа НЕ по правилам сравнения строк. Поясняю в Key будет находится КОД представленный в виде строки. У кода свой, отличный от строкового, алгоритм сравнения "больше-меньше" исходя из объявления шаблона: template < class Key, class Type, class Traits = less<Key>, class Allocator=allocator<pair <const Key, Type> > > Есть возможность подсунуть свою функцию, которая будет производить сравнение элементов в контейнере. Проблема: Не могу найти примера. Примера функции для сравнения. Как её надо передавать контейнеру при объявлении... Каков должен быть прототип функции-сравнения... Спасибо, если можете привести пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 13:42 |
|
||
|
std::map Traits
|
|||
|---|---|---|---|
|
#18+
less - не функция а функтор, это класс. А чтобы там все срослось надо написать типатакого class my_cmp { public: bool operator()(const CString&, const CString&) { ... } }; map<CString, CString, my_cmp> my_map; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 14:05 |
|
||
|
std::map Traits
|
|||
|---|---|---|---|
|
#18+
blindedless - не функция а функтор, это класс. А чтобы там все срослось надо написать типатакого class my_cmp { public: bool operator()(const CString&, const CString&) { ... } }; map<CString, CString, my_cmp> my_map; Да, согласен... Пробовал писать class MYless { public: bool operator()(const CString& left, const CString& Right) const { return (left.Compare(Right)<0); } }; ... std::map <CString,CString,MYless> m_Socr; ... m_Items[strBufferColCode]=kiBuffer; Тьфу ты блин, а я голову ломаю: почему в Дебаггере не происходит обращение к оператору? Объявил в одном контейнере, а пользую другом.... m_Socr!=m_Items Спасибо за поддержку. Вопрос закрыт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2007, 14:22 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34486469&tid=2028976]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 263ms |
| total: | 487ms |

| 0 / 0 |
