Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > std::allocator<T>::operator==()


Автор: boostcoder 11.5.2011, 17:51
всем доброго дня.

кто-то знает, для чего используется, и что определяет operator==() в std::allocator ?

дело в том, что хочу вектору назначить свой аллокатор. ну написал. сейчас мой operator==() всегда возвращает true.
чем это грозит?

гуглил. ничего внятного по этому поводу не нашел..

спасибо.

Автор: asmdzen 11.5.2011, 18:38
на примере set'а знаю что при добавлении новых элементов первым вызывается operator==() после уже operator <(), т.е. если operator==() вернет true элемент не будет добавлен. надеюсь это поможет

Автор: boostcoder 11.5.2011, 19:05
Цитата(asmdzen @  11.5.2011,  18:38 Найти цитируемый пост)
первым вызывается operator==() после уже operator <(), т.е. если operator==()

я говорю об std::allocator ;)

Автор: mes 11.5.2011, 21:30
вот что нашлось :
Цитата

operator ==(const_reference a1, const_reference a2)

Returns true if storage allocated by allocator a1 can be deallocated by allocator a2 and vice-versa.

If the allocator should be used with STL containers, the above is required. Thus, this function should always return true.

http://www.codeguru.com/cpp/cpp/cpp_mfc/stl/article.php/c4079

Автор: boostcoder 11.5.2011, 21:50
mes, значит я все правильно понял. пул-то у меня один на все приложение.

вопрос закрыт.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)