C++/CLI: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m fix typos |
Funzionalità collegamenti suggeriti: 1 collegamento inserito. |
||
(Una versione intermedia di un altro utente non mostrate) | |||
Riga 1:
{{T|inglese|informatica|dicembre 2016}}
'''C++/CLI''' ([[C++]] modificato per la [[Common Language Infrastructure]]) è un [[linguaggio di programmazione]] specifico creato da Microsoft e destinato a sostituire le [[Managed extensions per C++]]. Si tratta di una revisione completa che mira a semplificare la vecchia sintassi del Managed C++, ora deprecato.<ref>[https://msdn.microsoft.com/en-us/library/b23b94s7.aspx Managed Extensions for C++ Syntax Upgrade Checklist - MSDN Library]</ref> C++/CLI è stato standardizzato da [[ECMA International|ECMA]] come '''ECMA-372'''. È disponibile in [[Microsoft Visual Studio|Visual Studio]] 2005, 2008, 2010, 2012, 2013, 2015 e
== Cambiamenti sintattici ==
Riga 62:
===Operatore di overloading===
Un operatore di [[overloading]] (o di sovraccarico) funziona esattamente come nel C++ classico. Ogni * diventa un ^, ogni & diventa un %, con il resto della sintassi completamente invariato, con un'eccezione: per le classi. NET, l'operatore di overloading è instanziabile e invocabile non solo per le classi stesse, ma anche per i riferimenti alle classi. Tale peculiarità è necessaria per dare a ''ref class'' la semantica per l'operatore di overloading che le ''ref classes'' .NET si aspettano (Al contrario, questo significa anche che le ref classes presenti nel framework. NET fanno riferimento operatori di overloading, spesso implicitamente implementati in C++/CLI.
Per esempio, facendo un paragone tra due Stringhe di riferimento (String^) mediante l'operatore == restituirà "true" (vero) a prescindere. Essendo l'operatore di overloading statico, effettuare un cast a Object^ rimuove la semantica di overloading.
|