Udostępnij za pośrednictwem


Tablice (C++ Component Extensions)

Platform::Array<T> Należy wpisać w C++/CX, lub array słów kluczowych w C++/CLI, deklaruje tablica określonego typu i wartości początkowej.

Wszystkie platformy

Tablica musi być zadeklarowana przy użyciu modyfikatora uchwyt do obiektu (^) po zamykającego nawiasu ostrego (>) w deklaracji.

Liczba elementów w tablicy nie jest częścią typu.Jedną zmienną array może odnosić się do tablic o różnych rozmiarach.

W przeciwieństwie do standardowych C++ pomijających nie jest synonimem arytmetyki i nie jest przemienne.

Aby uzyskać więcej informacji dotyczących tablic zobacz:

Środowisko wykonawcze systemu Windows

Tablice są członkami Platform obszaru nazw.Tablice mogą być tylko jednowymiarowe.

Składnia

Pierwszy przykład składni ref new agregujące słowo kluczowe, aby przydzielić tablicy.Drugi przykład deklaruje lokalnej tablicy.

[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 [,...]}
  • Kwalifikatory [opcjonalny]
    Jeden lub więcej z tych specyfikatory klasy pamięci masowej: tych, lotnych, const, extern, statyczne.

  • array-type
    Typ zmiennej tablicy.Prawidłowe typy to: Środowisko wykonawcze systemu Windows klas i typów podstawowych, klas ref i strukturach, wartość klas i strukturach i macierzystego wskaźniki (type*).

  • rank[opcjonalny]
    Liczba wymiarów tablicy.Musi być 1.

  • identifier
    Nazwa zmiennej tablicy.

  • initialization-type
    Typ wartości, które inicjalizacji tablicy.Zazwyczaj array-type i initialization-type są tego samego typu.Jednakże, mogą być różne, jeśli jest konwersja z typów initialization-type do array-type— na przykład, jeśli initialization-type z array-type.

  • initialization-list[opcjonalny]
    Rozdzielana przecinkami lista wartości w nawiasach klamrowych, na które zainicjować elementów tablicy.Na przykład jeśli rank-size-list były (3), która deklaruje tablicą jednowymiarową 3 elementy, initialization list może być {1,2,3}.

Uwagi

Można wykryć w czasie kompilacji, czy typ jest tablica liczone odniesienia o __is_ref_array(type).Aby uzyskać więcej informacji, zobacz Obsługa cech typu w kompilatorze (C++ Component Extensions).

Wymagania

Opcja kompilatora:/ZW

Przykłady

Poniższy przykład tworzy tablicą jednowymiarową ma 100 elementów.

// 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();
}

Środowisko uruchomieniowe języka wspólnego

Składnia

Pierwszy przykład składni gcnew słowo kluczowe, aby przydzielić tablicy.Drugi przykład deklaruje lokalnej tablicy.

[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 [,...]}
  • Kwalifikatory [opcjonalny]
    Jeden lub więcej z tych specyfikatory klasy pamięci masowej: tych, lotnych, const, extern, statyczne.

  • array-type
    Typ zmiennej tablicy.Prawidłowe typy to: Środowisko wykonawcze systemu Windows klas i typów podstawowych, klas ref i strukturach, wartość klas i strukturach, wskaźniki macierzystego (type*) i rodzimych typów POD (zwykły stare dane).

  • rank[opcjonalny]
    Liczba wymiarów tablicy.Wartością domyślną jest 1; maksymalna wynosi 32.Każdy wymiar tablicy jest tablica.

  • identifier
    Nazwa zmiennej tablicy.

  • initialization-type
    Typ wartości, które inicjalizacji tablicy.Zazwyczaj array-type i initialization-type są tego samego typu.Jednakże, mogą być różne, jeśli jest konwersja z typów initialization-type do array-type— na przykład, jeśli initialization-type z array-type.

  • rank-size-list
    Rozdzielana przecinkami lista rozmiar każdego wymiaru tablicy.Alternatywnie Jeśli initialization-list parametr jest określony, rozmiar każdego wymiaru można wywnioskować, kompilator i rank-size-list można pominąć.Aby uzyskać więcej informacji, zobacz Porady: tworzenie tablic wielowymiarowych.

  • initialization-list[opcjonalny]
    Rozdzielana przecinkami lista wartości w nawiasach klamrowych, na które zainicjować elementów tablicy.Lub zagnieżdżone rozdzielaną przecinkami listę listy inicjowania elementów, które zainicjować elementy w tablicą wielowymiarową.

    Na przykład jeśli rank-size-list były (3), która deklaruje tablicą jednowymiarową 3 elementy, initialization list może być {1,2,3}.Jeśli rank-size-list były (3,2,4), która deklaruje tablicą trójwymiarową z 3 elementów w pierwszym wymiarze, 2 elementy w drugim i 4 elementy w trzecim, initialization-list może być {{1,2,3},{0,0},{-5,10,-21,99}}.)

Uwagi

arrayw Przestrzeń nazw platformy, domyślna i cli (C++ Component Extensions) obszaru nazw.

Jak standard C++ indeksy tablicy są od zera i jest indeksy tablicy, przy użyciu kwadratowych ([]).W przeciwieństwie do standardowych C++ Indeksy tablic wielowymiarowych są określone w listy indeksów dla każdego wymiaru, a nie zestaw operatorów nawias kwadratowy ([]) dla każdego wymiaru.Na przykład identyfikatoraindeks1, indeks2zamiast identyfikatoraindeks1] index2.

Wszystkie tablice zarządzanych dziedziczą z System::Array.Wszelkie metody lub właściwości o System::Array mogą być stosowane bezpośrednio do zmiennej tablicy.

Kiedy przydzielenia tablicy typu elementu, którego jest wskaźnik-do klasy zarządzanej, elementy są inicjowane przez 0.

Kiedy przydzielenia tablicy typu elementu, którego jest wartość typu V, Konstruktor domyślny dla V jest stosowany do każdego elementu tablicy.Aby uzyskać więcej informacji, zobacz Odpowiedniki typów natywnych języka C++ w programie .NET Framework (C++/CLI).

W czasie kompilacji, można wykryć, czy typ jest tablica runtime (CLR) języka wspólnego, o __is_ref_array(type).Aby uzyskać więcej informacji, zobacz Obsługa cech typu w kompilatorze (C++ Component Extensions).

Wymagania

Opcja kompilatora:/clr

Przykłady

Poniższy przykład tworzy tablicą jednowymiarową ma 100 elementów i tablicą trójwymiarową, która ma 3 elementy w pierwszym wymiarze, 5 elementów w drugim i 6 elementów w trzecim.

// 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();
}

Zobacz też

Koncepcje

Component Extensions dla platform środowiska uruchomieniowego