2014-12-31 5 views
1

큰 프로젝트를위한 특정 기능을 개발 중이며 내가하고있는 "기능"은 기본 프로젝트에서 특정 기능이 전 세계적으로 사용될 수있는 일부 클래스입니다 .typedef를 적절하게 사용하여 "typedef 오염"을 피하십시오.

가독성을 위해 필자는 내 측면에서 공통적으로 (그리고 긴) 유형을 입력하여 수업 전반에 걸쳐 사용하도록했습니다. 이러한 유형의 대부분은 상대적으로 공통적이며 다른 의미와 함께 사용되기 쉽기 때문에 필자는 typedef가 다른 typedef가 사용될 수도있는 주요 프로젝트로 흘러 들어가는 것을 원하지 않습니다.

내 typedef가 "깔끔하게"정의되고 "오염"되지 않도록하는 가장 좋은 방법은 무엇입니까 (이 용어가 typedef에도 사용되는지는 확실하지 않습니다). 프로젝트의 일반 typedef 풀은 무엇입니까?

필자는 지금까지 각 클래스에 대해 typedef를 비공개로 만들고 클래스 전반에서 typedef를 본질적으로 재정의 할 생각만을 갖고있었습니다. 내가 너무 좋아 보이지 않는가?

+1

'네임 스페이스'에 넣으시겠습니까? – Jarod42

+0

typedef (유형 및 함수는 물론)를 네임 스페이스에 넣습니다. –

답변

0
  • 당신은 네임 스페이스 관련 typedef 년대를 제한 할 수 있습니다.
  • typedef을 단 1 개의 클래스에만 사용하면됩니다.
  • typedef가 단지 몇 파일에서만 사용되는 경우 .cpp 파일에 typedef를 추가하십시오.
0

네임 스페이스를 사용하는 것이 좋습니다. 그래서 입력하는 대신 :

typedef int my_project_my_int; 

당신은

namespace my_project { 
    typedef int my_int; 
} 

를 입력 my_project::my_int로 참조하십시오.

동일한 네임 스페이스에 정의 된 클래스에서이 클래스를 my_int이라고 부를 수 있습니다. 동료 유형을 추천하려면 언제든지 his_project::my_int을 사용할 수 있습니다. 당신이 편집증 경우

, ::my_project::my_int로 참조하고 ::his_project::my_int