std:: clog, std:: wclog
|
Défini dans l'en-tête
<iostream>
|
||
|
extern
std::
ostream
clog
;
|
(1) | |
|
extern
std::
wostream
wclog
;
|
(2) | |
Les objets globaux
std::clog
et
std::wclog
contrôlent la sortie vers un tampon de flux de type défini par l'implémentation (dérivé de
std::streambuf
), associé au flux de sortie standard C
stderr
, mais, contrairement à
std::cerr
/
std::wcerr
, ces flux ne sont pas automatiquement vidés et cout n'est pas automatiquement lié (tie()) à ces flux.
Ces objets sont garantis d'être initialisés pendant ou avant la première fois qu'un objet de type std::ios_base::Init est construit et sont disponibles pour utilisation dans les constructeurs et destructeurs d'objets statiques avec initialisation ordonnée (tant que <iostream> est inclus avant que l'objet soit défini).
À moins que sync_with_stdio ( false ) n'ait été invoqué, il est sûr d'accéder simultanément à ces objets depuis plusieurs threads pour les sorties formatées et non formatées.
Notes
Le « c » dans le nom fait référence à « caractère » (
stroustrup.com FAQ
) ;
clog
signifie « journal de caractères » et
wclog
signifie « journal de caractères larges ».
Exemple
#include <iostream> struct Foo { int n; Foo() { std::clog << "constructor\n"; } ~Foo() { std::clog << "destructor\n"; } }; Foo f; // static object int main() { std::clog << "main function\n"; }
Sortie :
constructor main function destructor
Voir aussi
|
initialise les objets de flux standard
(classe membre publique de
std::ios_base
)
|
|
|
écrit dans le flux d'erreur C standard
stderr
, non tamponné
(objet global) |
|
|
écrit dans le flux de sortie C standard
stdout
(objet global) |
|
|
expression de type
FILE
*
associée au flux d'entrée
expression de type FILE * associée au flux de sortie expression de type FILE * associée au flux de sortie d'erreur (constante macro) |