클래스에 대한 부작용을 명시 적으로 최소화하기 위해 클래스에만 멤버를 액세스하도록 제한하고 싶습니다.클래스 외부의 액세스 금지
예를 들어, 컴파일러는 다음과 같은 경우 오류를 제공해야합니다. 전역 네임 스페이스의 모든 것이 사용됩니다. C++에서 이것이 가능하지 않다고 생각하기 때문에, 컴파일 타임에 그러한 검사를하는 컴파일러 확장이 있습니까?
편집 :
가 최적의 내가 사용할 수 있도록 내가 좋아하는 모든 전역 네임 스페이스 객체, 함수 등을 가능하게 할 것이다.
"클래스 외부"를 정의하십시오. 또한 클래스가'int','='및'if'와 같은 것을 사용하지 않기를 원합니까? –
이것은 구현중인 클래스입니까, 아니면 다른 사람의 클래스입니까? –
클래스를 자신의 로컬 변수 만 변경하는 것은 무리가 아닙니다. 클래스가 다른 변수에 액세스하는 것을 방지하는 것은 덜 합리적이며, 클래스가 외부 함수를 사용하지 못하도록하는 것은별로 합리적이지 않습니다. 그러나 #includes 또는 externs를 확인하는 전 처리기 단계를 빌드 할 수 있습니다. 그러한 것이 존재한다면 (필요한 것 이상으로) 불평 할 수 있습니다. – JCooper