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.)
Wymagania
Opcja kompilatora:/ZW
Common Language Runtime
W poniższym przykładzie składni zademonstrowano wnętrza wskaźnika.
Składnia
cli::interior_ptr<cv_qualifier type> var = &initializer;
Parametry
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.
Uwagi
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
Poradnik: Deklarowanie typów wartości za pomocą słowa kluczowego interior_ptr (C++/CLI)
Poradnik: Funkcje przeładowania z wewnętrznymi i natywnymi wskaźnikami (C++/CLI)
Poradnik: Deklarowanie wewnętrznych wskaźników za pomocą słowa kluczowego const (C++/CLI)
Wymagania
Opcja kompilatora:/clr
Przykł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