godrik: pour utiliser C++ dans .NET, il faut utiliser le managed C++, un language assez laid et restrictif, dont presque personne ne veut entendre parler, sinon y´a toujours le C# ou le VB.NET, mais dans mon cas, ca serais plus compliquer que d´autre chose de les apprendres...
bref, pour vous convaincre un peu que C++/CLI est la meilleure chose en .NET, voici le petit introduction que j´ai eu dans mon cour de .NET (car mes explications semble un peu confuse si je me fis a la réaction de Fvirtman face au ^
C++/CLI est un nouveau langage, dont le nom est contesté. Il est fort possible qu´il soit renommé en CLI++ ou autre du genre, pour éviter que les gens pensent que c´est C++ avec des ajouts. Au contraire, on peut dire qu´il s´agit d´un nouveau langage pour faire du .NET, donc fournissant tous les concepts .NET facilement, mais qui a la caractéristique de pouvoir compiler du code qui est du C++ valide, même s´il représente des concepts étrangers à .NET. Ainsi, on peut y faire des variables ou des fonctions globales : le compilateur fera pour nous une classe pour les emballer, puisque c´est ce que demande .NET, mais nous ne nous en rendrons pas compte. En fait, plusieurs éléments de la « puissance » de C++, comme les destructeurs et les variables locales pour des types référence, sont simulés, ce qui permet de faire du code plus simple, mais aussi ayant des approches très différentes que ce qui est permis par les autres langages .NET. En principe, il s´agit du langage .NET le plus puissant. Il vient tout juste de sortir, reste à voir s´il deviendra aussi populaire. Pour nous, c´est le plus simple à apprendre, puisqu´on connaît déjà C++. C++/CLI est en voie de normalisation : encore une fois, ce n´est pas un langage propriétaire et plusieurs compilateurs existent.
La syntaxe de base de C++/CLI est celle de C++, mais on a ajouté des choses en essayant le plus possible qu´elles ne changent pas le sens des programmes C++ existants. En fait, la version courante n´est pas la version finale et certains ajouts à la prochaine version permettront d´être encore plus compatible. Pour préserver la compatibilité, on a ajouté un minimum de mots clefs classiques. On a plutôt souvent des mots clefs contextuels (des identificateurs réservés seulement à certains endroits du code, par exemple abstract), des mots clefs en deux mots (ref class, for each), etc. On a aussi ajouté des concepts nouveaux (par exemple les propriétés) avec une syntaxe aussi semblable que possible à du C++.