std:: clog, std:: wclog
|
헤더에 정의됨
<iostream>
|
||
|
extern
std::
ostream
clog
;
|
(1) | |
|
extern
std::
wostream
wclog
;
|
(2) | |
전역 객체
std::clog
와
std::wclog
는 구현 정의 타입(
std::streambuf
에서 파생됨)의 스트림 버퍼로 출력을 제어하며, 표준 C 출력 스트림
stderr
와 연결됩니다. 하지만
std::cerr
/
std::wcerr
와 달리, 이 스트림들은 자동으로 플러시되지 않으며 cout이 이 스트림들과 자동으로 tie()되지 않습니다.
이러한 객체들은 std::ios_base::Init 타입의 객체가 생성되는 첫 번째 시점 동안 또는 그 이전에 초기화되는 것이 보장되며, 순서화된 초기화 를 가진 정적 객체들의 생성자와 소멸자 내에서 사용 가능합니다 (단, 객체가 정의되기 전에 <iostream> 가 포함되어 있는 경우에 한함).
sync_with_stdio ( false ) 가 호출되지 않은 경우, 서식이 지정된 출력과 서식이 지정되지 않은 출력 모두에 대해 여러 스레드에서 이러한 객체를 동시에 안전하게 접근할 수 있습니다.
참고 사항
이름의 "c"는 "문자(character)"를 의미합니다(
stroustrup.com FAQ
);
clog
는 "문자 로그(character log)"를 의미하며
wclog
는 "와이드 문자 로그(wide character log)"를 의미합니다.
예제
#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"; }
출력:
constructor main function destructor
참고 항목
|
표준 스트림 객체를 초기화함
(
std::ios_base
의
public member class)
|
|
|
표준 C 오류 스트림
stderr
에 기록하며, 버퍼링되지 않음
(global object) |
|
|
표준 C 출력 스트림
stdout
에 기록함
(global object) |
|
|
입력 스트림과 연관된
FILE
*
타입의 표현식
출력 스트림과 연관된 FILE * 타입의 표현식 오류 출력 스트림과 연관된 FILE * 타입의 표현식 (macro constant) |