헤더 파일의 클래스 정의를 깨끗하게 유지하기 위해 템플릿 기반 함수의 구현을 기본 헤더에 포함 된 *.h
파일로 옮기기로 결정했습니다. 이제 코드를 더 읽기 쉽게 만들기 위해 using namespace
을 사용하고 싶습니다.템플릿 구현 파일 내의 네임 스페이스 사용
그러나 네임 스페이스를 사용하면 파일이 전체 응용 프로그램에 포함되는 헤더에 포함되므로 응용 프로그램 전체에 영향을 미칩니다. 네임 스페이스의 using
은 파일에서 분산됩니다.
어떻게 처리 할 수 있습니까?
'네임 스페이스 XX 사용하기 '는'using namespace'를 둘러싸는 범위까지만 확장됩니다. 예를 들어 메소드 정의 안에'using namespace'를 사용하면 "유출되지"않습니다. 불행히도, 당신은'class' 레벨에서 이것을 사용할 수 없습니다. (즉'class foo {네임 스페이스 std를 사용 ...}} –
은 네임 스페이스에 정의 된 클래스입니까? – elyashiv
@JoeZ 캡슐화 된 범위를 만들기 위해 템플릿 파일의 모든 것을'{''}'로 감쌀 수 있습니까? – danijar