A Managed C++ programozási nyelv

Bevezetés

Összefoglalás

Mivel a nyelv tulajdonságai - mint ahogy a neve is sugallja - sokban egyeznek a C++ nyelvével, ezért ebben a leírásban inkább csak az eltéréseit részletezzük, hogy segítséget nyújtson gyakorlati szempontból azoknak, akik esetleg szeretnének a .NET környezetben programozni, de ragaszkodnak a megszokott C++ szintaktikához, illetve szeretnék a hagyományos C++ kódban írt programjukat a .NET keretrendszerben futtatni. Itt érdemes megjegyezni, hogy a Managed C++ szintaktikailag elavult, a Microsoft már kidolgozta a CLI/C++ nevű nyelvet, amely szintaktikailag egyszerűbb és olvashatóbb, mint a Managed C++

Mi a Managed C++

Managed (Extensions for) C++ a Microsoft eltéréseinek összessége a C++-tól, beleértve a grammatikai és szintaktikai kiterjesztéseket, kulcsszavakat, attribútumokat. Ezek a kiterjesztések (extensions) elérhetővé teszik a C++ nyelvet a .NET keretrendszer számára mint felügyelt (managed), illetve hagyományos (native) kódként. Nem önálló nyelv, csak egy bővítménye a C++-nak. A Managed C++ kód képes együttműködni más .NET-es nyelvekkel, például a VB .NET-tel és C# .NET-tel.

Különlegességei a .NET nyelvek között:

Miért "felügyelt" C++?

A kifejezés arra utal, hogy a program futását a .NET keretrendszer felügyeli, mely a szemétgyűjtésen kívül a rendszer biztonságáért is felel, például megakadályozza a puffertúlcsordulást, stb. A kód nem közvetlenül gépi kódra fordul, mint a hagyományos C++ alkalmazásoknál, hanem egy köztes nyelvre, amelyet Microsoft Intermediate Language (MSIL)-nek neveznek. Az MSIL bájtkódot a Common Language Runtime (CLR) hajtja végre, úgy, hogy lefordítja azt gépi utasításokra. A Common Language Runtime (CLR) fő feladatai: memóriakezelés, szálak kezelése, szemétgyűjtés (garbage collection), biztonsági felügyelet.