2014-05-09 2 views
0

나는 생산적인 프로그래밍에 tutorial을 감추고 그리고 난은 MPL 값 관용구 우연히 : 그것은 사용되는 어떤MPL 값 관용구 란 무엇입니까?

template <int V> 
class A 
{ 
    A(); 
public: 
    static const A<V> value; 
}; 

template <int V> 
static const A<V> A<V>::value; 

? 예제 유스 케이스를 사용할 수 있습니까?

귀하의 링크에서
+0

'static const A :: value;':'static'을 사용할 수 없습니다. – Constructor

답변

1

: 코드 부풀게 방지

만 필요한 것을 인스턴스화합니다.

슬라이드 35에서 발표자는 사례를 제공합니다. 여기서 숙어의 클래스 A는보고 가능한 클래스에 해당합니다.

이 관용구를 통해 그는 필요한 클래스 만 인스턴스화된다는 것을 알게되었습니다. 이전 예제 (슬라이드 32)를 사용하여 클래스의 오브젝트를 정의해야하는지 여부를 사용 여부를 비교합니다. 템플릿 기반 버전에서는 이러한 일이 발생하지 않습니다.