2014-01-11 3 views
0

나는 단지 foo 함수를 작성하고 있으며 출력에 사용 된 객체에 대한 유연한 옵션을 제공하려는 경우 확인을 요청할 것입니다. void foo(std::ostream& stream, ...)과 같은 std::ostream& 유형을 사용하므로 foo 사용자는 std::cout, std::cerr의 항목을 일반 파일 출력으로 선택할 수 있습니다.일반 출력 클래스에 대한 서명에 대한 올바른 유형

이 것이 적절한 선택 일 수 있습니까? 내 유일한 의심은 동시 액세스가 필요한 경우에도이 작업을 깔끔하게 만드는 것에 관한 것입니다.하지만 사용자가 항상 자체적으로 I/O 스트림이 원자 일 수 있다고 생각하지 않기 때문에 잠금을 관리 할 것으로 예상합니다. 이 함수를 호출하기 전후에, 출력에 사용되는 함수가 자체 정의 내에서 동시 디자인 요소를 포함해야한다고 생각하지 않습니다.

답변

1

예, 괜찮습니다.

나는 심지어 내 자신의 코드에서 사용합니다!

나는 대부분 foo이 잠글해서는 안되는 것에 동의하지만, 응용 프로그램에 대해 더 많이 알지 못해서 그렇게 말하기는 어렵습니다. 당신이 선택한 선택에 대해 잘 알고있는 것처럼 들리므로 나는 그 부분을 당신의 판단에 맡길 것입니다.

관련 문제