Вывод std::vector и std::list

Иногда хочется иметь возможность вывести содержимое std::vector или std::list в поток, что бы посмотреть что находится внутри. Это может понадобится например при отладке программы. Для этого я написал небольшой класс. С помощью него можно вывести любой std массив или список в поток.
Пример:

cout << "Vector:" << my_vector << endl;

Вывод:

Vector:{0, 1, 2, ... <96> ... , 99}

Если нужно вывести определённое количество элементов, то перед выводом массива следует написать show(int). Приведённый ниже код выведет первые 100 элементов:

cout << "Vector:" << show(100) << vec << endl;

Если нужно вывести весь массив, то нужно указать show(-1).

Так же можно выводить в любой выходной поток:

std::stringstream os;
os << "List:" << show(-1) << my_list << endl;

Скачать данный код можно тут: Debug.h
Примеры использования: cout_vector_debug.rar

Рубрики



Ссылки


наверх