C++ mit Managed Extensions und der Wechsel zu VS 2005


Thomas Wölfer
Thomas Wölfer

02. Oktober 2004


Wer mit C++ für .Net programmiert, der verwendet momentan die Managed Extensions. Daran wird sich mit VC++ aus dem Visual Studio 2005 aber eine ganze Menge ändern. Zwar gibt es einen Compiler-Schalter der auch den MC++ Code akzeptiert, aber eigentlich sollte man auf die neue Art umsteigen - und die hat auch einiges für sich.

Es gibt einige dramatische und weniger dramatische Aenderungen. Statt

__gc class

heist es nun

ref class

- und auch andere Keywords mit doppeltem Underscore sind verschwunden. Das ist in den meisten Fällen wohl mit Search&Replace zu lösen.

Ein anderes Beispiel ist eine deutlich angenehmere Art Properties zu formulieren. Aus

__property int get_A() { return a; }
__property int set_A( int _a) { a = _a; }

wird nun

property int A
{
   int get() { return a; }
   int set( int _a) { a = _a; }
}

Sieht man sich dieses neue Konstrukt an, so ist man fast verleitet die Umstellung als CSharpisierung von C++ zu verstehen.

Von Stan Lippman (ja, genau, der Stan Lippman) gibt es auf MSDN einen sehr ausführlichen Artikel zum Thema. Schwerstens empfohlen für alle, die im nächsten Jahr immer noch mit C++ unter .Net unterwegs sind.