답변:
약 10 년 전에 회의 일이 끝나고 Erwin Unruh 와 몇 명의 다른 사람들과 함께 술집에서 자신을 발견했으며 VJovic이 언급 한 프로그램에 대해 그에게 물었습니다 . 우리는 그때까지 두 잔의 맥주를 가지고 있었고, 비공식 회의였으며 10 년 동안 내 머리에 살았으므로 소금 한 알을 곁들여서 가져 가십시오. 그러나 내 기억에 따르면 :
그는 STL을보다 효과적으로 제공하기 위해 템플릿 기능을 추가했다고 말했다. 그에 따르면,위원회의 일부 / 많은 사람들이 자신의 능력을 완전히 몰라도 무언가를 창조하고 있다고 느꼈습니다. 그는 모든 템플릿, 특히 부분적인 전문화가 Turing-complete 언어를 구성했다고 의심했으며, 항상 공식적인 증거를 만들려고했지만 결코 그렇게하지는 않았습니다.
대신 어느 날 밤 표준화 회의에서 그는 소수를 컴파일하는 동안 계산 된 오류 메시지 (현대 컴파일러와 함께 작동해야하는 버전이 여기에 있음 ) 로 인쇄 하는 프로그램을 만들었 습니다 . 템플릿 메타 프로그램으로서 오늘날의 표준에서는 그다지 인상적이지는 않지만 결국 첫 번째였습니다. 누군가가 공식적으로 프로그램을 제출하여 농담으로 간주 한 것을 공식 ISO 표준화 문서로 만들었습니다.
나는 그에게 프로그램에 대한 Bjarne Stroustrup의 반응에 대해 구체적으로 물었고 Erwin은 그의 손으로 그의 눈을 가리면서 그를 흉내 냈습니다. :)
나는이 회의에 참석 한 Todd Veldhuizen 에게 표현 템플릿을 어떻게 만들 었는지 물었다 . (그는 확실히 이야기하기에 좋은 녀석이었다.) 그러나 나는 훨씬 더 어 렸고, 평생 기회가 사라지게했다.:(
1994 년 C ++ 표준화위원회 회의에서 E. Unruh는 템플릿을 사용하여 컴파일 타임에 무언가를 계산할 수 있음을 발견했습니다. 그는 소수를 인쇄하는 프로그램을 작성했습니다. 이 연습에서 흥미로운 부분은 소수가 생산 과정이 아닌 컴파일 과정에서 컴파일러에 의해 수행되었다는 것입니다. 이 프로그램은 완전히 이식 가능하지는 않았지만 템플릿 인스턴스화 메커니즘은 컴파일 타임에 사소한 계산을 수행 할 수있는 원시 재귀 언어라는 것을 보여주었습니다.
이 발췌는 Vandevoorde와 Josuttis (17 장)의 "c ++ 템플릿"에서 발췌 한 것입니다.
보시다시피, 그것은 일찍 발견되었고 그 힘은 즉시 인식되었습니다.