Udostępnij za pośrednictwem


interior_ptr (C++/CLI)

Wskaźnik wnętrza deklaruje wskaźnik do wewnątrz typ odwołania, ale nie samego obiektu.Wewnętrzne wskaźnika można wskazać uchwyt odniesienia, typ wartości, dojście typu prostokątnych, członka typu zarządzanego lub element tablicy.

Wszystkich modułów wykonawczych.

(Nie są żadne uwagi dla tej funkcji języka, stosowane do wszystkich modułów wykonawczych).

Windows Runtime

(Istnieją nie uwagi dla tej funkcji języka, które dotyczą tylko obsługi Windows.)

y0fh545k.collapse_all(pl-pl,VS.110).gifWymagania

Opcja kompilatora:/ZW

Common Language Runtime

W poniższym przykładzie składni zademonstrowano wnętrza wskaźnika.

y0fh545k.collapse_all(pl-pl,VS.110).gifSkładnia

cli::interior_ptr<cv_qualifier type> var = &initializer;

y0fh545k.collapse_all(pl-pl,VS.110).gifParametry

  • cv_qualifier
    Const lub volatile kwalifikatorów.

  • Typ
    Typ inicjatora.

  • var
    Nazwa interior_ptr zmienna.

  • Inicjator
    Członek typ odwołania, element tablicy lub każdego innego obiektu można przypisać do macierzystych wskaźnika.

y0fh545k.collapse_all(pl-pl,VS.110).gifUwagi

Wskaźnik macierzysty nie jest w stanie do śledzenia zapasu jako jego zmiany lokalizacji zarządzanych sterty, co wynika z garbage collector przenoszenie wystąpień obiektu.Aby wskaźnik prawidłowo odnoszą się do wystąpienia środowisko czasu wykonania musi zaktualizować wskaźnik do nowo pozycjonowane obiektu.

interior_ptr Stanowi nadzbiór funkcji wskaźnik macierzystym.W związku z tym, wszystko, co może być przypisana do wskaźnika macierzystego można przypisać również do interior_ptr.Wewnętrzne wskaźnik może wykonywać ten sam zestaw operacji jako wskaźniki macierzystym, włączając porównanie i wskaźnik arytmetycznych.

Wewnętrzne wskaźnik może być deklarowany tylko na stosie.Wewnętrzne wskaźnik nie można zadeklarować jako członek klasy.

Ponieważ wskaźniki wnętrza istnieje tylko na stosie, biorąc pod adres wnętrza wskaźnik plony niezarządzanego wskaźnika.

interior_ptrniejawna konwersja z ma bool, który pozwala na jego wykorzystanie w instrukcji warunkowych.

Aby uzyskać informacje, jak deklarować wnętrza wskaźnik, który wskazuje na obiekt, którego nie można przenieść na stercie zebrane garbage, zobacz pin_ptr.

interior_ptrznajduje się w obszarze nazw cli.Zobacz Przestrzeń nazw platformy, domyślna i cli (C++ Component Extensions) Aby uzyskać więcej informacji.

Aby uzyskać więcej informacji na wewnętrzne wskaźniki zobacz

y0fh545k.collapse_all(pl-pl,VS.110).gifWymagania

Opcja kompilatora:/clr

y0fh545k.collapse_all(pl-pl,VS.110).gifPrzykłady

Przykład

Poniżej przedstawiono przykładowe zadeklarować i używania wnętrza wskaźnik do typu odwołania.

// interior_ptr.cpp
// compile with: /clr
using namespace System;

ref class MyClass {
public:
   int data;
};

int main() {
   MyClass ^ h_MyClass = gcnew MyClass;
   h_MyClass->data = 1;
   Console::WriteLine(h_MyClass->data);

   interior_ptr<int> p = &(h_MyClass->data);
   *p = 2;
   Console::WriteLine(h_MyClass->data);

   // alternatively
   interior_ptr<MyClass ^> p2 = &h_MyClass;
   (*p2)->data = 3;
   Console::WriteLine((*p2)->data);
}

Dane wyjściowe

  
  
  

Zobacz też

Koncepcje

Składnik rozszerzeń dla platform Runtime