Почему в std::priority_queue нет функции clear?
Здравствуйте, saproj, Вы писали:
S>Почему в std::priority_queue нет функции clear?
ЗдесьАвтор: ekamaloff
Дата: 16.02.06
я задавал этот вопрос в контексте std::queue. Конкретного ответа
почему не было, но предлагалась альтернатива через swap:
std::swap(q, std::priority_queue<T>());
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Здравствуйте, Master Yoda, Вы писали:
MY>Здравствуйте, saproj, Вы писали:
S>>Почему в std::priority_queue нет функции clear?
MY>ЗдесьАвтор: ekamaloff
Дата: 16.02.06
я задавал этот вопрос в контексте std::queue. Конкретного ответа почему не было, но предлагалась альтернатива через swap:
MY>MY>std::swap(q, std::priority_queue<T>());
MY>
а зачем свапить? Присваивания достаточно
q = std::priority_queue<T>();
S>Почему в std::priority_queue нет функции clear?
workaround:
priority_queue< int > pq;
pq.push( 0 );
pq = priority_queue< int >( );
saproj wrote:
> Почему в std::priority_queue нет функции clear?
Почему не отвечу, но член sequence с; queue/priority_queue protected, можешь
отнаследовать и добавить clear() { this->c.clear(); }. По-умолчанию sequence =
vector<T>, чтобы очистить
и освободить память придется сделать
sequence().swap(this->c); всесто c.clear().
--
Maxim Yegorushkin
No Microsoft product was used in any way to write or send this text.
If you use a Microsoft product to read it, you're doing so at your own riskPosted via RSDN NNTP Server 2.0