unique_ptr1 Tip of the Week #42: Prefer Factory Functions to Initializer Methods Originally posted as totw/42 on 2013-05-10 By Geoffrey Romer (gromer@google.com) Revised 2017-12-21 예외가 허용되지 않는 환경(예: Google 내)에서 C++ 생성자는 호출자에게 실패를 보고할 방법이 없기 때문에 효과적으로 성공해야 한다. 물론 abort()를 사용할 수 있지만 그렇게 하면 전체 프로그램이 충돌하며 이는 종종 상품화 코드에서 허용되지 않는다. 클래스의 초기화 로직이 실패 가능성을 피할 수 없는 경우, 한가지 일반적인 접근 방식은 클래스에 초기화 메서드(initializer method)("init method"라고도 함)를 제공하는 것이다. 이 메서드는 실패할 수 있는 초기화 작업을 수행하고, return값을.. 2022. 5. 20. 이전 1 다음 300x250