Share via


배열(C++ 구성 요소 확장)

Platform::Array<T> 입력 C++/CX, 또는 array 키워드를 C++/CLI, 지정 된 형식 및 초기 값의 배열을 선언 합니다.

모든 플랫폼

배열 선언에는 닫는 꺾쇠 괄호 (>) 후 핸들 개체 (^) 한정자를 사용 하 여 선언 되어야 합니다.

배열 요소의 개수는 형식의 일부가 아닙니다.한 배열 변수를 다른 크기의 배열을 참조할 수 있습니다.

표준 C++와는 달리 일부 포인터 산술 연산에 대 한 동의어 아니며 비가 환 적 이므로.

배열에 대 한 자세한 내용은 참조 하십시오.

Windows 런타임

구성원이 되는 Platform 네임 스페이스.만 배열의 차원 수 있습니다.

구문

구문 예제는 ref new 집계 키워드 배열을 할당할 수 있습니다.두 번째 예는 로컬 배열을 선언합니다.

[qualifiers] [Platform::]Array<[qualifiers] array-type [,rank]>^ identifier = ref new [Platform::]Array< initialization-type > [{initialization-list [,...]}]

[qualifiers] [Platform::]Array<[qualifiers] array-type [,rank]>^ identifier = {initialization-list [,...]}
  • 한정자 [선택적 요소]
    하나 이상의 이러한 저장소 클래스 지정자: 변경할 수 있는, 휘발성, const, extern, 정적.

  • array-type
    배열 변수 유형을 지정 합니다.유효한 형식에는 Windows 런타임 클래스가 기본 형식, ref 클래스 구조체, 값 클래스 및 구조체 및 네이티브 포인터 (type*).

  • rank[선택 사항]
    배열의 차수입니다.1 이어야 합니다.

  • identifier
    배열 변수의 이름입니다.

  • initialization-type
    배열을 초기화 하는 값의 형식입니다.일반적으로 array-type 및 initialization-type 같은 형식입니다.그러나 형식을 변환할 경우 다를 수 있습니다 initialization-type 에 array-type-예를 들어, 경우 initialization-type 에서 파생 된 array-type.

  • initialization-list[선택 사항]
    배열의 요소를 초기화 하는 중괄호 안의 값의 쉼표로 구분 된 목록입니다.예를 들어, 경우 rank-size-list 된 (3), 1 차원 배열을 3 요소를 선언 하는 initialization list 수 {1,2,3}.

설명

형식을 사용 하 여 참조 계산 배열 인지 컴파일 타임에 감지할 수 __is_ref_array(type).자세한 내용은 형식 특성에 대한 컴파일러 지원(C++ 구성 요소 확장)을 참조하십시오.

ts4c4dw6.collapse_all(ko-kr,VS.110).gif요구 사항

컴파일러 옵션:/ZW

ts4c4dw6.collapse_all(ko-kr,VS.110).gif예제

다음 예제에서는 요소가 100 개 있는 1 차원 배열을 만듭니다.

// cwr_array.cpp
// compile with: /ZW
using namespace Platform;
ref class MyClass {};
int main() {
   // one-dimensional array
   Array<MyClass^>^ My1DArray = ref new Array<MyClass^>(100);
   My1DArray[99] = ref new MyClass();
}

공용 언어 런타임

구문

구문 예제는 gcnew 키워드 배열을 할당할 수 있습니다.두 번째 예는 로컬 배열을 선언합니다.

[qualifiers] [cli::]array<[qualifiers] array-type [,rank] >^ identifier = gcnew [cli::]array< initialization-type [,rank] >(rank-size-list[,...]) [{initialization-list [,...]}]

[qualifiers] [cli::]array<[qualifiers] array-type [,rank] >^ identifier = {initialization-list [,...]}
  • 한정자 [선택적 요소]
    하나 이상의 이러한 저장소 클래스 지정자: 변경할 수 있는, 휘발성, const, extern, 정적.

  • array-type
    배열 변수 유형을 지정 합니다.유효한 형식에는 Windows 런타임 클래스 및 기본적인 형식이 ref 클래스 및 구조체, 클래스 및 구조체, 네이티브 포인터 값 (type*), 및 네이티브 포드 (일반 이전 데이터) 형식입니다.

  • rank[선택 사항]
    배열의 차수입니다.기본값은 1입니다. 최대값은 32입니다.배열의 각 차원의 배열입니다.

  • identifier
    배열 변수의 이름입니다.

  • initialization-type
    배열을 초기화 하는 값의 형식입니다.일반적으로 array-type 및 initialization-type 같은 형식입니다.그러나 형식을 변환할 경우 다를 수 있습니다 initialization-type 에 array-type-예를 들어, 경우 initialization-type 에서 파생 된 array-type.

  • rank-size-list
    배열의 각 차원의 크기를 쉼표로 구분 된 목록.또는 경우에 initialization-list 매개 변수를 지정 하 고 각 차원의 크기를 컴파일러가 추론할 수 및 rank-size-list 를 생략할 수 있습니다.자세한 내용은 방법: 다차원 배열 만들기을 참조하십시오.

  • initialization-list[선택 사항]
    배열의 요소를 초기화 하는 중괄호 안의 값의 쉼표로 구분 된 목록입니다.쉼표로 구분 된 목록을 중첩 된 초기화 목록 다차원 배열의 요소를 초기화 하는 항목입니다.

    예를 들어, 경우 rank-size-list 된 (3), 1 차원 배열을 3 요소를 선언 하는 initialization list 수 {1,2,3}.If rank-size-list 된 (3,2,4), 3 차원 배열 3 요소의 첫 번째 차원, 2, 두 번째 요소, 4, 세 번째 요소를 선언 하는 initialization-list 수 {{1,2,3},{0,0},{-5,10,-21,99}}.)

설명

array되는 Platform, default 및 cli 네임스페이스(C++ 구성 요소 확장) 네임 스페이스입니다.

표준 C++와 마찬가지로 배열의 인덱스는 0에서 시작, 하 고 대괄호 ()를 사용 하 여 배열 아래 첨자입니다.표준 C++와는 달리 다차원 배열의 인덱스 인덱스 집합을 각 차원에 대해 대괄호 () 연산자 대신 각 차원에 대해 목록에서 지정 됩니다.예를 들어, 식별자index1, index2대신 식별자index1] index2.

모든 관리 되는 배열에서 상속 System::Array.모든 메서드 또는 속성의 System::Array 배열 변수에 직접 적용할 수 있습니다.

요소 형식이 있는 배열 할당 하는 경우 포인터입니다-0 초기화 관리 되는 클래스에 있는 요소입니다.

요소 형식이 있는 배열 할당 하는 경우 값 형식인 V, 기본 생성자에 대 한 V 각 배열 요소에 적용 됩니다.자세한 내용은 C++ 네이티브 형식에 해당하는 .NET Framework(C++/CLI)을 참조하십시오.

컴파일 타임에 형식 사용 하 여 공용 언어 런타임 (CLR) 배열 인지 여부를 감지할 수 있습니다 __is_ref_array(type).자세한 내용은 형식 특성에 대한 컴파일러 지원(C++ 구성 요소 확장)을 참조하십시오.

ts4c4dw6.collapse_all(ko-kr,VS.110).gif요구 사항

컴파일러 옵션:/clr

ts4c4dw6.collapse_all(ko-kr,VS.110).gif예제

다음 예제에서는 3 요소의 첫 번째 차원에서, 5 요소를 두 번째 및 세 번째에서 6 요소를 가진 3 차원 배열의 한 요소가 100 개 있는 1 차원 배열을 만듭니다.

// clr_array.cpp
// compile with: /clr
ref class MyClass {};
int main() {
   // one-dimensional array
   array<MyClass ^> ^ My1DArray = gcnew array<MyClass ^>(100);
   My1DArray[99] = gcnew MyClass();

   // three-dimensional array
   array<MyClass ^, 3> ^ My3DArray = gcnew array<MyClass ^, 3>(3, 5, 6);
   My3DArray[0,0,0] = gcnew MyClass();
}

참고 항목

개념

런타임 플랫폼의 구성 요소 확장