콘텐츠로 이동

기타 C++ 기능 (Other C++ Features)

이 장은 특정 범주로 묶기 어려운 다양한 C++ 언어 기능들을 다룹니다. 스마트 포인터와 소유권, 참조, 예외, RTTI, 캐스팅, 전처리기, 템플릿, 람다, 코루틴 등 — 강력하지만 오용하기 쉬운 기능들에 대한 사용·제한 규칙입니다.


이해하기 쉽게 설명하기

기타 C++ 기능 섹션은 강력하지만 오용하기 쉬운 언어 기능들을 모아 다룹니다. 스마트 포인터, rvalue 참조, 예외, RTTI, 캐스팅, 매크로, 템플릿, 코루틴 등은 모두 표현력과 복잡성 사이의 균형이 중요합니다.

실무에서는 "이 기능이 문제를 단순하게 만드는가, 아니면 독자가 알아야 할 규칙을 늘리는가?"를 기준으로 판단하세요. 표준 기능이라는 이유만으로 항상 좋은 선택은 아니며, Google 스타일 가이드가 제한하는 경우에는 그 제한의 유지보수 이유를 우선해야 합니다.

점검할 때는 특히 다음을 확인하세요:

  • 더 단순한 언어 기능으로 같은 목적을 달성할 수 있는가?
  • 소유권, 수명, 타입 변환, 오류 처리가 호출 지점에서 보이는가?
  • 새 기능이 이식성이나 빌드 환경에 숨은 제약을 만들지 않는가?