Array declaration in Managed C++
C++ es un lenguaje feo, y si se usa sobre .NET todavía más. Managed C++ es la extensión de este lenguaje adaptada al .NET Framework.
C++ is an ugly
language, even more if it is used upon .NET. Managed C++ Extensions
are the adaptation to .NET Framework.
La ventaja que tiene sobre los otros lenguajes .NET es que no necesita tirar del framework, pudiendo tirar de librerías C o C++ nativas, por ejemplo, para operaciones a bajo nivel.
The advantage
over other .NET languages is the fact that It doesn't necessarily
depend on the framework, being able to use also native C/C++
libraries, for example, in order to perform low level tasks.
Desde ese punto de vista, C++ es más potente.
From that point
of view, C++ is more powerful
Y esa potencia complica el lenguaje, como por ejemplo el símbolo '^' (sombrero) necesario a la hora de referenciar cualquier clase del .NET Framework. Uno se puede volver loco con estos "pequeños" cambios. Como por ejemplo a la hora de declarar un simple array:
And that
power makes the language difficult, for instance with the token
depicted as '^' (also called hat), which is necessary when
referencing any .NET class. These "little" changes can
drive you crazy...i e when declaring a simple array:
String a1[] = new String[5]
pasa a...
becomes...
array<String^>^ a1= gcnew array<String^>(5);
Todo un coñazo. Desde mi punto de vista, Managed C++ sólo merece la pena si se va a hacer uso de .NET y librerías C/C++ a la vez .
Such a pain in
the ass. From my point of view, Managed C++ is only worth when using
both .NET and native C/C++ libraries.