본문 바로가기

C++16

Google C++ Style Guide : 함수(Google-Specific Magic) 보호되어 있는 글 입니다. 2022. 9. 8.
Google C++ Style Guide : 함수(Functions) 보호되어 있는 글 입니다. 2022. 8. 30.
Google C++ Style Guide : 클래스(Classes) Classes 클래스는 C++에서 코드의 기본 단위이다. 자연스럽게 우리는 클래스를 광범위하게 사용한다. 이 섹션은 클래스를 작성할 때 따라야 하는 주요 사항과 하지 말아야 할 사항을 나열한다. 생성자에서의 작업(Doing Work in Constructors) 생성자에서 가상 메서드를 호출하지 않도록 하고, 오류 신호를 보낼 수 없는 경우 초기화가 실패할 수 있는 것을 방지한다. 정의: 생성자의 body에서 임의의 초기화를 수행할 수 있다. 장점: 클래스가 초기화되었는지 여부에 대해 걱정할 필요가 없다. 생성자 호출에 의해 완전히 초기화된 객체는 const일 수 있으며 표준 컨테이너 또는 알고리즘과 함께 사용하기 더 쉬울 수 있다. 단점: 작업이 가상 함수를 호출하는 경우, 이러한 호출은 하위 클래스 .. 2022. 6. 2.
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.
300x250