세 번째 클래스에서 "E2511 유형 매개 변수 'T'가 클래스 유형이어야합니다. type TSomeClass=class
end;
ParentParentClass<T>=class
end;
ParentClass<T: class> = class(ParentParentClass<T>)
end;
ChildClass<T: TSomeClass> = c
나는 tree_node 클래스와 tree 클래스를 가지고 있습니다. 생성시 template<typename T>
class tree_node
{
public:
tree_node(const std::string& key_, const T& value_)
: key(key_), value(value_)
{
}
pri
제네릭을 오랜 시간 사용하고 있지만 결코 건설을 사용하지 않았습니다. List<? super T>. 어떤 의미입니까? 사용 방법? 지우고 나서 어떻게 보이나요? 또한 궁금합니다. 제네릭 프로그래밍 (템플릿 프로그래밍)의 표준인가요? 또는 단지 '자바'발명품일까요? 예를 들어 C#은 비슷한 구조를 허용합니까?
나는 완전히 하스켈에 익숙하다 (여전히 모나드를 완전히 이해하고있다). 나는 내가 뭘하고 싶은 것은 필터를 사용하여 새로운 트리를이 통과하고 생성 할 수있다 type Tree = [DataA]
data DataA = DataA1 [DataB]
| DataA2 String
| DataA3 String [DataA]
두 개의 std :: pair 항목을 사용하고 동등성을 테스트하지만 요소의 순서는 무시하는 간단한 유틸리티 펑터를 작성하려고했습니다. 추가로 (그리고 이것은 내가 문제가되는 곳이다.) 나는 std :: pair 아이템의 컨테이너를 취하여 컨테이너에서 주어진 쌍의 인수의 멤버를 테스트하는 함수를 작성했다. /* A quick functor way to che
질문을 깊이 읽지 않아도되는 질문은 굵게 표시됩니다. 이것은 this 질문에 대한 후속 조치입니다. 함수에서 정적 변수의 초기화 의미와 관련이 있습니다. 정적 변수는 한 번 초기화해야하며 나중에 내부 상태가 변경 될 수 있습니다. 즉, 연결된 질문에서 I (현재)가 변경됩니다. 그러나 문제의 코드는 기능을 나중에 변수의 상태를 변경하지 않아도됩니다. 문자열
Array (Array of) 유형의 멤버가있는 일반 목록 클래스를 만듭니다. 클래스는 TObject를 상속하는 형식에서 바이트 형식으로 사용되기 때문에 클래스 소멸 문제가 있습니다. 특히 : destructor Destroy;
var elem:T;
begin
/*if(T is Tobject) then //Check if T inherits T
나는 하스켈 모듈의 구조를 반영 유형의 다양한 정의되어 Language.Exts.Annotated.Syntax,의 값을 다루는 코드를 쓰고 있어요 : data Module l = ...
data Decl l = ...
data Exp t = ...
-- etc
내가 좋아하는 것 이러한 데이터 구조를 수행하고 다양한 변형을 수행하는 함수를 작성할 수
my earlier question on traversing data structures과 관련하여 유니 플레이트 패키지와 함께 사용할 때 제 코드를 일반적으로 사용하는 데 문제가 있습니다. 나는 Language.Exts.Annotated.Syntax 모듈의 데이터 구조를 다루고 있는데, 모두 유형 매개 변수 l을 가지고 있습니다. 이 l은 트리 전체에서