2014-09-04 1 views
0

여기에는 공백 포인터를 홍보하는 답변과 함께 그러한 것이 있는지 묻는 질문이 몇 가지 있습니다.C++ STL의 C 구현은 기술적으로 실행 불가능합니까?

데이터 구조와 알고리즘을 강력하게 입력하고 싶습니다. 구현이 길어질 수도 있지만 이것이 가능하다고 생각합니다!

계획은 유형 이름별로 데이터 구조, 반복자 및 알고리즘을 매개 변수화하고 C 전 처리기로 이름 변환을 수행하는 것입니다. 순열을 쓰려면 #include 지시문에 열심히 기울여야합니다. 마지막으로, 친숙한 다형성 인터페이스에 결과를 래핑하여 맹 글링 된 이름을 숨 깁니다 (C11 _ 일반 기반).

이상적인 대답은 "확실합니다, 작동 할 것입니다"또는 "아니요, C가 X를 수행 할 수 없습니다"중 하나입니다. 나는 근본적으로 이것이 바보의 심부름처럼 보이는 지에 대한 증거를 찾고 있습니다. 감사합니다.

+1

그래서 당신이 원하는 것은 기본적으로 C++의 재 구현입니까? 그리고 귀하의 정보를 위해서, C++은 당신이하고 싶은 것을 대부분 한 C 프리 프로세서로 시작했습니다. –

+0

나는 아주 틀릴 수도 있지만 C++을 지원하지 않는 플랫폼을 찾기가 어려울 것이라고 생각합니다. – dreamlax

+0

* * STL 또는 * a * 유형 안전 컨테이너 라이브러리가 필요합니까? 대답은 사소한 것입니다. 1) 아니요, '_ 일반'은 템플릿이 수행 할 수있는 것의 일부만을 대체 할 정도로 강력하지는 않습니다. 2) 예,'_ 일반 '은 유용하고 안전 할 정도로 강력합니다. – Leushenko

답변

1

1992 년이 전화를 걸어 기술을 되찾고 싶습니다.

첫 번째 C++ 컴파일러는 실제로 C++를 C로 변환 했으므로 수행 할 수 있지만 원하는 이유와 가치 여부를 좀 더 자세히 살펴 봐야합니다.

+0

cfront이 현대 템플릿의 복잡성을 처리 할 수 ​​있을지 모르겠지만 일반적인 감정은 의미가 있습니다. "컴파일러 작성하기"는 해결책입니다 - 코드 생성기는 분명히 어떤 것도 작성할 수 있습니다. 매크로가 충분한 발전기를 구성하는지 여부는 덜 명확합니다. C++ 사용자들의 분노를 자극하지 않고 "왜"대답하는 것이 불가능할 수도 있습니다. 따라서 "재미로"라고 말하면됩니다. 감사 –

관련 문제