overloading << operador para contenedores c ++ stl

Desearía poder imprimir el contenido de un conjunto / vector / mapa usando cout <<. No parece tan difícil de implementar para los diseñadores de stl: suponiendo que << esté definido para T, << para un contenedor podría simplemente recorrer los elementos e imprimirlos usando ofstream <<.

¿Existe una manera fácil de imprimirlos que no conozco?

Si no, ¿hay una solución fácil? He leído en lugares que extender las clases stl es una mala idea. ¿Es así y por qué?

¿qué hay de definir algo como una función de impresión sobrecargada? EDITAR: Estoy buscando una función recursiva que pueda manejar contenedores de contenedores de ... Estoy de acuerdo en que a diferentes personas les gustaría diferentes formatos, pero algo reemplazable es mejor que nada

Respuestas a la pregunta(8)

Su respuesta a la pregunta