변수에 저장된 클래스로 Vector를 초기화하는 방법은 무엇입니까?알 수없는 클래스 유형의 벡터 초기화
function initVector(Type:Class) {
var vec:Vector.<Type> = new Vector.<Type>()
}
initVector(int)
컴파일러 오류를 제공합니다 : 1046
: 유형이 없거나 컴파일 타임 상수가 아닙니다 : 입력합니다.
1120 : 정의되지 않은 속성 유형에 대한 액세스입니다.
이 작업을 수행하는 올바른 방법은 무엇입니까?
내가 이해 한 바로는 'int','uint' 및'Number' 컨테이너를 제외한 모든 경우에서'Array'가 Vector보다 더 좋다고 말하는 것입니다. 앞서 말한 것 이외의 다른 타입에'Vector'를 사용하는 것은 무엇입니까? – bananasplits
그것은 지나치게 단순화하는 것입니다. 많은 경우에 입력 된 벡터를 사용하면 작성해야하는 코드의 양이 줄어들고 더 쉽게 읽을 수 있습니다. 성능 측면에서 더 나은 선택은 아닐지 모르지만 성능의 90 % 이상에서 가독성을 선택할 것입니다 - 대안이 '벡터'일 때만.
귀하의 경우에는 런타임에 벡터의 유형이 결정되므로 코드는 일반적으로 사용되어야하고 인트로 스펙 션, 타입 캐스팅 등을 사용해야합니다. 즉, 벡터를 사용하여 얻을 수있는 것은 없습니다. – weltraumpirat