安化县委政法委 电话:什么是托C呀

来源:百度文库 编辑:中科新闻网 时间:2024/05/05 22:25:28
请帮助

你是不是想问托C++
托C++、应该叫托管C++是对C++的一个属性和关键字的扩展,以便于在微软公司的.NET Framework进行编程。它也
经常被称为托管C++。
注意:C++托管扩展正在被一个新的语言规范,正在标准化的C++/CLI所取代。
托管C++并非独立存在的编程语言,而仅仅是微软对C++的一个语法扩展,允许C++程序员在.NET框架和
CLR的基础上进行托管编程。与C#和Visual Basic .NET相比,其主要优点是旧代码可以比较快地移植到新
的平台上,而且即使不完全重写代码,也可以通过互操作在同一个模块中无缝整合托管和非托管代码,
从新的.Net框架中获益。.Net框架封装了大量的API,例如网络访问、字符串操作、数据访问、XML服
务、图形界面控件库、邮件服务、加密服务、文件输入/输出,甚至是WMI管理,也使得应用程序员可以
编写更加简洁的代码。目前只有托管C++及其后继者C++/CLI可以做到无缝整合托管和非托管代码,而在
托管代码中调用COM的速度又相当慢,所以经常被用于其他语言和非托管代码之间的桥梁。
托管C++允许程序员编写托管代码,内存管理的工作现在可以让CLR去自动处理,访问时也增加了类型检
查,减少了缓冲区溢出和内存泄漏的危险,增加了程序的稳定性,但是在性能敏感的应用中,庞大
的.NET框架和缓慢的自动内存管理并不是必要的,传统非托管代码仍然是一些人的首选。
在面向对象编程方面,主要的变化是对多重继承的限制,这是因为CLR的限制和内存管理的需要。一个
托管类不能基于多于一个的类。同时,类属性和微软中间语言(MSIL)的引入也使得托管类可以在其他语
言中使用和继承。
与此同时,托管C++引入了大量的关键字和语义转换,减少了代码的可读性和明确性。缺少在很多语言
中都支持的泛型和for each语句也增加了其他语言的程序员转向托管C++的困难。在其后继者C++/CLI中泛
型和for each语句才被支持。