微软著名专家介绍C++特点总结

开发 后端
C++特点:它保持了C的简洁、高效和接近汇编语言等特点对C的类型系统进行了改革和扩充C++也支持面向过程的程序设计,不是一个纯正的面向对象的语言。

C++和C#、Java这3种语言都使用了类似C风格的语法,但它们都是面向对象(OOP)的。C++特点的一个扩充,也就是说,一个C语言的程序,希望本文能教会你更多东西。。。

1. WIN32常规就是不用MFC,使用API函数编的程序。

2. C++特点有很多年的历史了,MFC是基于Windows API 的简单封装。其核心架构基于"Document/View"架构(20年前被认为很潮流的一种概念)和消息流动机制。这个库自从VC6开始到现在都没有多大改动。MFC封装的范围包括GUI,IO,数据库,网络编程等等方面。但是很多系统开发必须的api都没有封装,这样开发者一般都在MFC的基础上自己处理与业务相关的任务。

事实上很多人用MFC只是利用其GUI部分的封装。这个库GUI处理的效率也并不是很高,有时候与UI处理相关的代码会占到整个项目的一半甚至更多。总的来说,这是一个垂老的库,微软在10年以来,除了对MFC进行修修补补以外,没有进行大的改进或者更新。如果你问MFC还会活多久?恩,这是个问题。如果有一天MFC不在了,微软在这个级别上并没有其他产品能够代替它。#t#

3. CLR库是随着.Net Framework 2 和VS2005一起发布的库,其核心的实现和C#,VB.net 一样。都是基于公共语言运行库。.Net Framework封装了大量系统的api,以类库的形式提供给开发者。

C++中的CLR库可以使用其中和本机代码有关的部分,目前C++还不能涉及到asp.net部分。CLR库中的C++颠覆了很多标准C++的传统,甚至可以说,这里的C++不是C++,只是披着C++的皮干其他的事。这里的C++特点更像是C#或者类似的语言。

所以这里不叫C++,而叫做C++特点,值得一提的是,有关C++/CLI的部分目前还没有被标准C++接受,最近微软有关C++/CLI标准化的提案被C++标准化委员会拒绝了。所以C++/CLI目前还是微软的一家之言。

4. ATL用于编写COM程序。ATL库貌似也年纪很大了,至少在我接触到VC的时候就有它的存在了。这个库可以追溯到COM组件,因为ATL的目的就是帮助开发者更好的与COM交互。到底什么时候有COM这个东西的。

我也不知道,我只知道C++特点是有16位版本的,在Windows升级到32位的时候COM也随着升级到了32位。COM就像一些封装好的类对象一样,通过封装系统的api,提供一些标准的方法来给你使用。

所以系统中有什么组件,就可以在ATL中用什么方法 。所以ATL不止可以写ActiveX,也可以有window,也可以有其它。有时候有些微软发布的功能是只以COM组件的形式发布的,例如MSXML,这时候MFC就不适合,是要ATL来处理的。

但是ATL在处理UI这方面并不是很强,所以微软工程师有一个开源的UI 框架,叫做WTL,专门用来处理UI的。ATL库的缺点是,作为模板库,在出现错误的时候会比较麻烦,出错提示会牛头不对马嘴。

责任编辑:chenqingxiang 来源: NET130
相关推荐

2010-01-27 16:41:48

Android特点

2010-01-15 15:52:18

CC++

2010-01-15 10:41:06

CC++

2010-01-25 17:29:10

C++语言

2010-01-26 14:46:42

C++语言

2009-09-07 16:09:19

C#和Java特点

2010-11-12 14:48:59

2009-08-19 09:57:01

C++ RAII

2010-01-26 10:27:43

C++语言

2010-01-22 16:35:41

C++开发

2009-09-04 17:34:11

C#CC++

2010-01-25 11:21:01

C++语法

2010-01-26 17:11:13

C++编程

2010-01-26 17:16:33

C++应用程序

2010-02-03 16:35:45

C++回文

2010-01-25 18:19:17

C++特性

2010-01-18 10:16:58

学习C++

2010-01-21 15:07:31

C++开发

2010-01-25 14:31:07

C++类

2010-01-14 17:02:10

学习C++
点赞
收藏

51CTO技术栈公众号