다음은 Boost.Python의 source code에서 미리보기입니다 :정의가없는 구조체 템플리트의 목적은 무엇입니까?
template <class T> struct null_ok; // how's it working?
template <class T>
inline null_ok<T>* allow_null(T* p)
{
return (null_ok<T>*)p;
}
은 앞으로 선언 구조체 null_ok
에 대한 정의가 없다는 것을 유선, 그리고 null_ok
는 템플릿 인수 T
과는 아무 상관이 없습니다.
핸들 <> Y가 (null_ok는 (X))은 Y가
핸들 <> Y (X), NULL이 될 수 있도록 : Python wiki에서
일부 힌트 주어진 x는 null_ok의 결과가 아니며 결과는 NULL이 아닙니다. x가 NULL 인 경우 예외가 발생합니다
제가 위에서 언급 한 바와 같이 구조체 템플릿 (정의없이) 선언, null_ok
이 목적을 달성 할 수있는 방법을 알아낼 수 없습니다?
의견을 보내 주셔서 감사합니다. Marc. 나는 '앞으로 선언'을 확실히 알고 있습니다. 그러나이 선언에 대한 정의는 없습니다. 나는 그것이 어떤 메타 프로그래밍 목적을 가지고 있다고 생각하지만, 그것이 무엇인지 말할 수는 없다. @ MarcGlisse – nn0p
예, 이전 제목은 혼란 스러웠다. 편집 됨. @MarcGlisse – nn0p