I am using boost library in MAC
(xcode
). I have two questions about boost::circular_buffer
.
1 - I am getting syntax error when declaring the circular_buffer
boost::circular_buffer<int> cb(10);
Expected parameter decelerator
Expected ')'
2 - Second question is when I add element into boost::circular_buffer
using push_back, how to extract / get the element from circular_buffer, pop_front
does not give the element.
boost::circular_buffer<T>::front()
gives you a reference to the element at the "front", while boost::circular_buffer<T>::pop_front()
will remove that element.
boost::circular_buffer<T>::back()
gives you a reference to the element at the back, while boost::circular_buffer<T>::pop_back()
removes that element.
It appears your syntax error is resulting from the most vexing parse. Try instead:
boost::circular_buffer<int> cb;
cb.set_capacity(10);
Or more succinctly:
boost::circular_buffer<int> cb((10));
来源:https://stackoverflow.com/questions/21760121/how-to-get-element-from-circular-buffer