값으로 전달 된 핸들에 대한 래퍼 클래스를 작성하는 것은 비교적 쉽습니다. 가장 좋은 방법은 주소로 전달해야하는 핸들을 캡슐화하는 것입니다. QueryServiceConfig (가치에 의해 전달되는 SC_HANDLE처럼 뭔가에 대한 래퍼를 작성하는 예를 들어핸들의 Win API 래퍼 클래스
)는 어렵지 않다. .GetHandle()과 같은 멤버 함수를 구현하거나 operator()을 구현할 수 있습니다.
문제는 (나를 위해 적어도)는 HKEY의 주소를 원하는 RegOpenKeyEx() 같은 API 함수입니다.
나는 오버로드 연산자 &은 일반적으로 좋지 않다는 것을 읽었습니다. 캡슐화 (또는 가능한 한 많이) 및 특히 API 함수 액세스를 허용하면서 리소스 수집을 유지하는 데 권장되는 방법은 무엇입니까?
이러한 경우 나는 Attach() 및 Detach() 모델을 선호한다고 생각합니다. & 연산자를 구현할 수 있지만 큰 추한 것을 알 수 있습니다. 실제로 정답은 없습니다. 그것은 개인적인 취향의 이상입니다. – Luke