« Guide du C++ pour .NET Programmation » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
 
Ligne 59 :
...
Marshal::FreeHGlobal(IntPtr((void*)temp));
</pre>
 
De la même façon que précédemment, on pourra créer des macros:
 
<pre>
// creation
#define CONVERT2CHAR(x) (char*)(Marshal::StringToHGlobalAnsi(x).ToPointer())
 
// libération
#define FREECHAR(x) Marshal::FreeHGlobal(IntPtr((void*) x ));
</pre>
 
et les utiliser ainsi:
 
<pre>
using namespace System::Runtime::InterropServices;
 
String* ch_1;
 
// allocation en mémoire
char* ch_2 = CONVERT2CHAR(ch_1);
...
 
// désallocation
FREECHAR(ch_2);
</pre>