C++ CLI

VC++ 2005(又称C++/CLI)是微软为广大C++程序员量身定做的,面向.NET平台的一门系统级编程语言。如何认识VC++ 2005?它为我们带来了什么?怎样才能学好VC++ 2005?

类型系统是一门编程语言的“立身之本”,VC++ 2005由于对ISO-C++和CLI实现了集成而使得其类型系统在突显强大的同时,也凭添了许多复杂。

作为支持面向组件程序设计的编程平台,CLI和ISO-C++有着迥异的设计思路,其中一个表现就在类型成员的设计上。

确定性资源清理是Visual C++ 2005中提出的一个新的语言特性,它利用C++便捷的语法,简化了.NET应用程序开发时对非托管资源的处理,而这在其他.NET语言中需要繁杂的Dispose模式才能实现。

指针是C++语言的精髓,也是C++语言的难点,由于CLI平台的托管特性,C++/CLI中出现了各种指针的变体,可谓难上加难。为什么C++/CLI的指针类型如此复杂?因为C++/CLI背后的对象模型非常复杂。C++/CLI中的指针类型完整映射了ISO-C++本地世界和CLI托管世界所包含的所有对象模型。

如果问CLI和ISO-C++最大的区别是什么?答案一定是元数据。元数据是CLI组件平台的灵魂,它在构建整个CLI组件平台中居功甚伟。在夯实CLI各种组件基础设施的同时,元数据也赋予了CLI强大的动态编程能力。

泛型编程在C++领域中早已深入人心,它赋予了类型参数式多态的能力,这种能力在ISO-C++中以编译时的模板实例化为依托。而CLI借自己强大的元数据系统,选择了运行时的模板实例化来支持泛型编程。C++/CLI在保留ISO-C++“编译时泛型编程”的同时,也增添了对CLI“运行时泛型编程”的支持。

在选择支持CLI的问题上,C++/CLI大胆地选择了“集成”而非“替换”的策略。同时支持ISO-C++和CLI两种编程方式并不复杂,但如何将二者在对象模型的层次上集成在一起则是一个非常复杂的问题。

代码重用是任何一个编程平台、语言都不可忽视的问题,C++/CLI同样也不例外。实际上C++/CLI不仅支持模块级(DLL动态链接库)、和组件级(COM组件)的重用,同时也支持源代码级(IJW,It Just Works技术)的重用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值