콘텐츠로 이동

금지된 표준 라이브러리 기능 (Disallowed standard library features)

일부 최신 C++ 라이브러리 기능은 가독성을 해치는 코딩 관행을 부추깁니다. 예를 들어 독자에게 도움이 될 수 있는, 검사를 거치는 중복 정보(타입 이름 같은 것)를 없애거나, 템플릿 메타프로그래밍을 부추기는 식입니다. 또 어떤 확장은 기존 메커니즘으로 이미 할 수 있는 일을 중복해서 제공하며, 이는 혼란과 전환 비용으로 이어질 수 있습니다.

결정:

다음 C++ 표준 라이브러리 기능은 사용할 수 없습니다.

  • 컴파일 타임 유리수(<ratio>). 템플릿에 더 치우친 인터페이스 스타일과 묶여 있다는 우려 때문입니다.
  • <cfenv>와 <fenv.h> 헤더. 많은 컴파일러가 이 기능들을 안정적으로 지원하지 않기 때문입니다.
  • <filesystem> 헤더. 테스트를 위한 지원이 충분하지 않고, 본질적인 보안 취약점을 안고 있습니다.

옮긴이 풀이

핵심: 일부 표준 라이브러리 기능은 금지

가독성을 해치거나(불필요한 메타프로그래밍 조장), 지원이 불안정하거나, 기존 메커니즘과 중복되는 일부 표준 라이브러리 기능은 사용할 수 없습니다.

금지 목록

  • <ratio> (컴파일 타임 유리수): 인터페이스가 지나치게 템플릿 스타일.
  • <cfenv> / <fenv.h>: 많은 컴파일러가 안정적으로 지원하지 않음.
  • <filesystem>: 테스트 지원이 부족하고 고유한 보안 취약점이 있음.