Поскольку вы запросили «лучший способ»:
std::copy(My_Deque.begin(), My_Deque.end(),
std::ostream_iterator<char>(std::cout, " "));
По общему признанию, для форматирования отдельного объекта это не будет иметь большого значения, но использование алгоритмов на структуре сегментированных данных может сделать большую разницу!Возможна интересная оптимизация при индивидуальной обработке сегментов при обработке всего диапазона.Например, если у вас есть большое std::deque<char>
, которое вы хотите записать дословно в файл, что-то вроде
std::copy(deque.begin(), deque.end(), std::ostreambuf_iterator<char>(out));
, которое копирует из одной сегментированной структуры данных в другую сегментированную структуру данных (в буферах вспомогательного потока).использование буфера символов, который становится их сегментом), может занять значительно меньше времени (в некоторой степени зависит от скорости, с которой данные могут быть записаны в место назначения).