D
은 C
과 쉽게 인터페이스합니다.C++과 D 사이의 링크 호환성
D
마찬가지로 C++
과 쉽게 인터페이스 할 수 있지만 그 크기는 크지 만 C++
은 매우 사소해야합니다. 코드는 사용할 수 없습니다
- 이름 공간이 아닌 가상의 방법
- 더와
- 다중 상속
- 혼합 가상
- 템플릿?
전적으로 상속 제한을 이해합니다. 그러나 나머지는 인위적 한계로 느껴집니다. 이제 std::vector<T>
을 직접 사용할 수 있기를 원치는 않지만 실제로 외부 템플릿으로 std::vector<int>
과 연결할 수 있기를 바랍니다.
C++ interfacing page에는 특히 우울한 의견이 있습니다.
D 템플릿은 C++ 템플릿을 사용하여 공통으로 조금 가지고, 합리적인 방법 의 어떤 종류가 D.
와 링크 호환 방식 에서 C++ 템플릿을 표현하기 위해 볼 수 있습니다 그 매우 어렵다이것은 가능성이 인정 하듯이
내가 probabl 것이다 D.
에서 접근 수 없을 것 C의 ++의 STL 및 C++ 부스트 것을 의미한다D
으로 코딩하는 동안
std::vector
은 필요하지 않지만
QT 또는
boost을 사용하고 싶습니다.
그럼 거래가 무엇입니까? 왜 평범하지 않은 C++
클래스를 D로 표현하는 것이 그렇게 어렵습니까? 적어도 특별한 네임 스페이스를 추가하거나 네임 스페이스를 표현할만한 가치가 없을까요?
업데이트 : Walter Bright에서 "D는 작품의 네임 스페이스 지원을하고 있습니다."
심지어 주류 C++ 컴파일러에서 지원되지 않습니다. 왜 다른 언어가 그것을 지원할 것으로 기대합니까? –
@ 한스, 무슨 뜻이야? –
그가 의미하는 바는 "컴파일러 X에서 생성 된 C++로 링크"가 {주류 C++ 컴파일러} \ X에서도 지원되지 않는다고 생각합니다. – FeepingCreature