2009-06-22 2 views
1

C++/CLI 및 .NET에서 일반적으로이 작업을 수행하는 방법을 알고 있지만 C++에는 특성이 없습니다. 이 시나리오는 다음과 같습니다.Intellisense 및/또는 특정 "클라이언트"에서 클래스의 메서드를 숨 깁니 까?

바이너리에 몇 가지 방법을 제공하고 싶지만 모든 고객이 사용하기를 원하지는 않습니다. 고객이 필요로하는 경우, 서명이 무엇인지 알려주거나 다른 비 2 진 파일을 보내십시오.

+1

가능한 해결책은 다음 페이지에서 볼 수 있습니다. http://stackoverflow.com/questions/6496524/hide-a-c-code-block-from-intellisense –

답변

2

나는 당신이 그것을 제어 할 수 있다고 생각하지 않습니다. 라이브러리에 대한 헤더 파일을 게시해야하므로 intellisense가 아닌 경우에도 전체 인터페이스가 노출됩니다.

그러나 많은 개발자가 동일한 도구 (예 : 시각 보조 프로그램)를 사용하고 있다고 생각할 수 있습니다.

구현 세부 정보를 숨기려면 더 나은 해결책은 pimpl 관용구를 적용하고 인터페이스 클래스에 헤더 파일에 "공용"방식으로 제공하는 것입니다.

구현 클래스는 컴파일되고 공용 헤더 파일에 선언 된 forward만을 포함하는 cpp 파일에서만 포함됩니다.

관련 문제