금지된 표준 라이브러리 기능 (Disallowed standard library features)¶
일부 최신 C++ 라이브러리 기능은 가독성을 해치는 코딩 관행을 부추깁니다. 예를 들어 독자에게 도움이 될 수 있는, 검사를 거치는 중복 정보(타입 이름 같은 것)를 없애거나, 템플릿 메타프로그래밍을 부추기는 식입니다. 또 어떤 확장은 기존 메커니즘으로 이미 할 수 있는 일을 중복해서 제공하며, 이는 혼란과 전환 비용으로 이어질 수 있습니다.
결정:
다음 C++ 표준 라이브러리 기능은 사용할 수 없습니다.
- 컴파일 타임 유리수(
<ratio>). 템플릿에 더 치우친 인터페이스 스타일과 묶여 있다는 우려 때문입니다. <cfenv>와<fenv.h>헤더. 많은 컴파일러가 이 기능들을 안정적으로 지원하지 않기 때문입니다.<filesystem>헤더. 테스트를 위한 지원이 충분하지 않고, 본질적인 보안 취약점을 안고 있습니다.
옮긴이 풀이¶
핵심: 일부 표준 라이브러리 기능은 금지¶
가독성을 해치거나(불필요한 메타프로그래밍 조장), 지원이 불안정하거나, 기존 메커니즘과 중복되는 일부 표준 라이브러리 기능은 사용할 수 없습니다.
금지 목록¶
<ratio>(컴파일 타임 유리수): 인터페이스가 지나치게 템플릿 스타일.<cfenv>/<fenv.h>: 많은 컴파일러가 안정적으로 지원하지 않음.<filesystem>: 테스트 지원이 부족하고 고유한 보안 취약점이 있음.