나는 단지 foo
함수를 작성하고 있으며 출력에 사용 된 객체에 대한 유연한 옵션을 제공하려는 경우 확인을 요청할 것입니다. void foo(std::ostream& stream, ...)
과 같은 std::ostream&
유형을 사용하므로 foo
사용자는 std::cout
, std::cerr
의 항목을 일반 파일 출력으로 선택할 수 있습니다.일반 출력 클래스에 대한 서명에 대한 올바른 유형
이 것이 적절한 선택 일 수 있습니까? 내 유일한 의심은 동시 액세스가 필요한 경우에도이 작업을 깔끔하게 만드는 것에 관한 것입니다.하지만 사용자가 항상 자체적으로 I/O 스트림이 원자 일 수 있다고 생각하지 않기 때문에 잠금을 관리 할 것으로 예상합니다. 이 함수를 호출하기 전후에, 출력에 사용되는 함수가 자체 정의 내에서 동시 디자인 요소를 포함해야한다고 생각하지 않습니다.