в priority_queue нет clear
От: saproj  
Дата: 05.09.06 12:35
Оценка:
Почему в std::priority_queue нет функции clear?
Re: в priority_queue нет clear
От: Master Yoda Великобритания  
Дата: 05.09.06 12:45
Оценка:
Здравствуйте, 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
Re[2]: в priority_queue нет clear
От: korzhik Россия  
Дата: 05.09.06 12:50
Оценка:
Здравствуйте, 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>();
Re: в priority_queue нет clear
От: MuTPu4  
Дата: 05.09.06 13:00
Оценка:
S>Почему в std::priority_queue нет функции clear?
workaround:
  priority_queue< int > pq;
  pq.push( 0 );
  pq = priority_queue< int >( );
Re: в priority_queue нет clear
От: MaximE Великобритания  
Дата: 10.09.06 21:51
Оценка:
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 risk
Posted via RSDN NNTP Server 2.0
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.