科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Stan Lippman:C++/CLI全景体验 (5)

Stan Lippman:C++/CLI全景体验 (5)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

C++/CLI全景体验

作者:sixth 来源:赛迪论坛 2007年10月28日

关键字: 体验 CLI C++ Linux

  • 评论
  • 分享微博
  • 分享邮件
 

N^ n = gcnew N;

  R* pn = new R;

  即将一个本地类透明地放在垃圾收集控制的托管堆中,以及将一个 CLI 引用类型透明地放在本地堆中,并使它们正常运行。这些是我们对于 C++/CLI 未来的一些设想和愿景。随着这些设想的实现,我们也会在我们的专栏中讨论它们。

  最后,再回答一个大家经常问到的一个问题,“我为什么要学习 C++/CLI ”?首要的原因是 C++/CLI 将会为你进入 CLI 所表示的动态组件编程模型领域提供一张第一等的入口签证。如果你像我一样认为这将成为越来越重要的一种编程模型,并且如果你是一个历练较深的程序员,那么 C++/CLI 就是你想要的一个语言工具。如果你不喜欢某些地方,或者发现某些东西很难表达,那么请告诉我们。我们代表着一个动态编程社区, C++/CLI 也会持续不断地前进。

  在 C++/CLI 之前,如果我们希望或者需要在 CLI 所表示的动态编程领域工作,那么我们只能放弃使用 C++ [ 译注 3] ,这意味着我们同时放弃了我们现存的代码库和编码经验。有了 C++/CLI 之后,我们就拥有了一条沿着 C++ 向上的移植路径。这是学习 C++/CLI 的第一个原因。

  学习 C++/CLI 的第二个原因在于它允许我们访问整个 CLI 框架类库,包括用户界面,线程,网络, XML , ADO.NET , ASP.NET ,以及 Web 服务这个宽广诱人的世界。另外,在即将推出的 WinFX 中,一个封装了整个操作系统的类库体系(包括应用程序及其执行空间 [ 译注 4] )也会被收编在 CLI 门下。

  [ 译注 1 ] :在翻译 Stan Lippman 先生这篇文章的过程中,我发现 Stan 在遇到第三人称的程序员时,总是使用“ She ”、“ Her ”这样的女性代词,一开始我很困惑,因为感觉很不符合阅读习惯,但我总觉得 Stan 是有意为之。最后我决定向 Stan 询问这样做的用意。果不其然, Stan 的回答是大家习惯用“ He ”是一种男性至上主义者的体现,好像一提起程序员,大家都认为是男性。他并不认同这样的看法,特意嘱我要在翻译的文本中保留“ She ”和“ Her ”的用意,因为他反对那种老套的观点。同时还举出了两位计算机领域的女杰:软件界的先驱之一、汇编语言的创始人 Grace Hopper 博士,以及 Smalltalk 领域的重量级专家 Adele Goldberg 女士。希望 Stan 的良苦用心能够鼓励更多的女性程序员朋友来阅读我们这个专栏 J ? back

  [ 译注 2 ] :单一的根基类为反射提供支持机制的理由在于反射总需要某种形式的 handle 来维护类型信息。比如在 ISO-C++ 中,这样的 handle 需要虚表来支持,如果没有虚表,就不能支持 RTTI ,这使得 ISO-C++ 对反射的支持比较弱。但 CLI 采用在一个公共的 object header 中放入一个 handle 来维护类型信息,巧妙地解决了运行时类型发现的问题。这个公共的 object header 最后就会导致所有的类型都有一个根基类——如果不是刻意隐藏该根基类的话。 back

  [ 译注 3 ] :作者这里没有考虑 Managed C++ 是因为 C++/CLI 是 Managed C++ 的第二版。 back

  [ 译注 4 ] :这里的“执行空间”指的是应用程序运行时的一些基础构造,如程序集、应用程序域等。back
(e129)

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章