비 자격/자격을 갖춘 이름은 다음과 같은 공제 가이드가 제공됩니다 :도에서 언급 한 바와 같이 (템플릿 공제 가이드 : 다른 표준 유형 <a href="http://en.cppreference.com/w/cpp/container/vector/deduction_guides" rel="nofollow noreferrer">cppreference:s deduction guides for <code>std::vector</code></a>에서
template< class InputIt, class Alloc = std::allocator<typename std::iterator_traits<InputIt>::value_type>> vector(InputIt, InputIt, Alloc = Alloc()) -> vector<typename std::iterator_traits<InputIt>::value_type, Alloc>;
discussion of the page) vector
는 17.10 (temp.deduct.guide)에서의 네임 스페이스 내가 조항 1에서 다음과 해석 예선, 3을 포함하지 않습니다
1 ... 공제 이온 가이드는 이름 조회로 찾을 수 없습니다.
3 ... 공제 가이드는 해당 클래스 템플릿과 동일한 범위에서 선언해야하며 멤버 클래스 템플릿의 경우 동일한 액세스 권한이 있어야합니다.
예를 들어. 템플리트 매개 변수화에 std::allocator
, simple-template-id에 std::iterator_traits
에 대해서는 엄격히 필요합니다. 위의 3에서 인용 된 부분에서 공제 안내서는 namespace std
, vector
으로 선언되어서는 안됩니까?
질문 (들)
- 이 때 이러한 (공제 가이드로 동일한 범위) 적정 조회를 통해 사용할 수 있어야 위의
std::vector
에 대한 공제 가이드로 규정 된 이름을 사용할 필요가 있습니까? - "아니오" 인 경우 수식어로 표시된 이름을 사용하는 가장 중요한 동기는 무엇입니까?
cppreference의 경우? 기본 동기 부여가 작동하도록 링크를 얻는 것입니다 :) –