Partager via


Comment : surcharger des fonctions avec des pointeurs intérieurs et des pointeurs natifs (C++/CLI)

Les fonctions peuvent varier selon que surchargé que le type de paramètre est un pointeur intérieur ou un pointeur natif.

Important

Cette fonctionnalité de langage est prise en charge par l'option du compilateur pour /clr , mais pas par l'option du compilateur pour /ZW .

Exemple

wzkbta4k.collapse_all(fr-fr,VS.110).gifCode

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

// C++ class
struct S {
   int i;
};

// managed class
ref struct G {
   int i;
};

// can update unmanaged storage
void f( int* pi ) {
   *pi = 10;
   Console::WriteLine("in f( int* pi )");
}

// can update managed storage
void f( interior_ptr<int> pi ) {
   *pi = 10; 
   Console::WriteLine("in f( interior_ptr<int> pi )");
}

int main() {
   S *pS = new S;   // C++ heap
   G ^pG = gcnew G;   // common language runtime heap
   f( &pS->i );
   f( &pG->i );
};

wzkbta4k.collapse_all(fr-fr,VS.110).gifSortie

in f( int* pi )
in f( interior_ptr<int> pi )

Voir aussi

Référence

interior_ptr (C++/CLI)