Domanda

    

Questa domanda ha già una risposta qui:

    
            
  •              La CLI C ++ è un superset di C ++?                                      6 risposte                          
  •     
    

Se includo solo la classe C ++ standard esistente nel programma C ++ / CLI, funzionerà?
Nei miei test tutto ha funzionato abbastanza bene, ma è vero per ogni programma?

È stato utile?

Soluzione

Questo è ciò che Microsoft promette, sì. (Ho visto questo video ieri, in cui lo hanno menzionato esplicitamente, in particolare perché l'aggiunta di nullptr in C ++ 0x lo comprometterebbe)

Quindi sì, se prendi un programma C ++ nativo e lo compili come C ++ / CLI, con le modifiche al codice no , allora sì, funzionerà comunque.

E, naturalmente, se modifichi il tuo codice (gcnew invece di nuove e altre modifiche "gestite", ovviamente, tutte le scommesse sono disattivate e potresti o meno rompere il codice)

Altri suggerimenti

Se cambi effettivamente la classe in una classe gestita (gc), allora no, a volte si romperà. In particolare, la semantica dell'operatore di eliminazione viene modificata, poiché gli oggetti sono ora gestiti dal Garbage Collector; l'eliminazione di un oggetto potrebbe non liberare memoria.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top