Как получить элемент из round_buffer

Я использую библиотеку повышения в MAC (xcode). У меня есть два вопроса о boost::circular_buffer,

1 — я получаю синтаксическую ошибку при объявлении round_buffer

boost::circular_buffer<int> cb(10);

Expected parameter decelerator
Expected ')'

2 — Второй вопрос, когда я добавляю элемент в boost::circular_buffer используя push_back, как извлечь / получить элемент из round_buffer, pop_front не дает элемент.

2

Решение

boost::circular_buffer<T>::front() дает ссылку на элемент на «фронте», в то время как boost::circular_buffer<T>::pop_front() удалит этот элемент.

boost::circular_buffer<T>::back() дает ссылку на элемент сзади, в то время как boost::circular_buffer<T>::pop_back() удаляет этот элемент.

Похоже, ваша синтаксическая ошибка является результатом самый неприятный разбор. Попробуйте вместо этого:

boost::circular_buffer<int> cb;
cb.set_capacity(10);

Или более кратко:

boost::circular_buffer<int> cb((10));
4

Другие решения

Других решений пока нет …