C ++ CLI est-il un sur-ensemble de C ++?
Question
Un CLI compilateur C ++ pourrait-il compiler d'importants ensembles de classes C ++ sans modification?
La CLI C ++ est-elle un sur-ensemble de C ++?
La solution
techniquement non, mais selon le code C ++ standard, tout ira bien. lorsque vous entrez dans Windows, vous pouvez rencontrer des problèmes. J'ai compilé une fois le moteur de jeu complet que nous utilisons au travail en C ++ / CLI et tout a bien fonctionné. Un collègue a fait de même pour Mozilla et aucune chance de ce type.
Autres conseils
Selon Wikipedia :
C ++ / CLI doit être considéré comme un langage qui lui est propre (avec un nouvel ensemble de mots-clés, par exemple), au lieu du C ++ géré orienté sur super ensemble C ++
Je suis encore nouveau dans ma courbe d’apprentissage en C ++ / CLI - mais j’ai moi-même la même question et j’ai déterminé jusqu’à présent que C ++ / CLI est, en tant que langage, un sur-ensemble de C ++ standard.
Si vous n'utilisez pas les extensions CLI, votre code C ++ se transforme en code non géré natif et doit être essentiellement identique, mais compilé pour le CLR IL, au lieu de x86 natif.
Une fois que vous commencez à utiliser les extensions CLI (et commencez à vous lancer dans l'utilisation d'objets / descripteur / classes gérées), vous commencez à interagir davantage avec la plate-forme CLR sous-jacente. À ce stade, il devient essentiellement un nouveau "langage" et vous devrez séparer votre pensée entre les "non gérés". côté et le " géré " côté.
C ++ / CLI n'est pas un sur-ensemble de C ++. C'est plutôt un sous-ensemble avec des ajouts. PAR EXEMPLE. C ++ / CLI ne prend pas en charge l'héritage multiple.
Angelo
La page 3 du livre de Marcus Heege "Experts C ++ / CLI.NET pour les programmeurs Visual C ++" indique:
C ++ / CLI est un ensemble d'extensions apportées à le langage C ++ pour bénéficier de la services qu'une mise en œuvre de la Offres CLI.
Et plus bas sur la même page:
C ++ / CLI est un sur-ensemble du langage C ++.
Son excellent livre est disponible gratuitement à l'adresse ici .
J'ai pu compiler toute la bibliothèque Qt (ce qui est énorme) en tant que C ++ / CLI avec des modifications mineures (principalement dans l'environnement de construction, mais également en corrigeant un bogue dans le code source de Qt)