Perl 6 также проходит этот тип разделения прямо сейчас. Perl, который 5 программ не выполнят непосредственно на Perl 6, но будет переводчиком для перевода кода в форму, которая может работать (я не думаю, что это может обработать 100% случаев).
Perl 6 даже имеет свою собственную статью о Википедии.
Если вам нужно перебрать очередь
, то вам нужно нечто большее, чем очередь. Смысл стандартных контейнерных адаптеров - обеспечить минимальный интерфейс. Если вам также нужно выполнить итерацию, почему бы просто не использовать вместо этого двухстороннюю очередь (или список)?
Если вам нужно перебрать очередь ... очередь - это не тот контейнер, который вам нужен.
Почему вы выбрали очередь?
Почему бы вам не взять контейнер, который можно перебирать?
1. Если вы выбираете очередь, вы говорите, что хотите обернуть контейнер в интерфейс 'queue': - фронт - назад - От себя - поп - ...
если вы также хотите выполнить итерацию, у очереди неверный интерфейс. Очередь - это адаптер, который предоставляет ограниченное подмножество исходного контейнера
2. Определение очереди - это FIFO, и по определению FIFO не повторяется
Вкратце: Нет.
Есть взлом, используйте вектор как подкладываемый контейнер, поэтому queue :: front
вернет действительную ссылку, преобразует ее в указатель и повторять до <= queue :: back