Salida sin búfer con cout

¿Cómo se puede obtener una salida sin búfer de cout, para que se escriba instantáneamente en la consola sin la necesidad de vaciar (similar a cerr)?

Pensé que podría hacerse a través de rdbuf () -> pubsetbuf, pero esto no parece funcionar. Se supone que el siguiente fragmento de código a continuación saldrá inmediatamente a la consola y luego esperará unos segundos. Pero en lugar de eso, solo espera, y solo sale cuando el programa sale y el búfer se vacía.

#include <iostream>

int main()
{
        std::cout.rdbuf()->pubsetbuf(0, 0);
        std::cout << "A";
        sleep(5);
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta