C ++ stream como una variable miembro

Tengo una clase C ++ que me gustaría mantener una secuencia utilizada para el registro.

La secuencia debería poder establecerse (y posiblemente restablecerse) después de la construcción del objeto.

Debería ser posible configurar la transmisión comostd::cout, o como una secuencia de archivos para iniciar sesión en un archivo, o como una secuencia de cadenas que no hace más que ignorar los datos (una/dev/null de tipo). En cualquier caso, debería ser unaostream type object, que el creador del objeto puede restablecer en cualquier momento. La clase en sí es ajena al tipo de flujo de hormigón.

Podría lograr esto con un puntero a una corriente de entrada, pero luego la sintaxis se vuelve un poco molesta, teniendo que usar el operador deref:

(*m_log) << "message";

más bien qu

m_log << "message";

Pero no puedo usar referencias, ya que el objeto continuo necesita ser restablecido posiblemente después de que el objeto se haya inicializado.

Existe una manera elegante de lograr esto, es decir, evitar el uso de punteros, pero aún así poder reiniciar después de la construcción?

Respuestas a la pregunta(4)

Su respuesta a la pregunta