求简述MFC,STL,API之间的关系~

感激不尽!
感激不尽!
感激不尽!

MFC中最重要的封装是对Win32 API的封装,因此,理解Windows Object和MFC Object (C++对象,一个C++类的实例)之间的关系是理解MFC的关键之一。所谓Windows Object(Windows对象)是Win32下用句柄表示的Windows操作系统对象;所谓MFC Object (MFC对象)是C++对象,是一个C++类的实例,这里(本书范围内)MFC Object是有特定含义的,指封装Windows Object的C++ Object,并非指任意的C++ Object。
MFC Object 和Windows Object是不一样的,但两者紧密联系。以窗口对象为例:
一个MFC窗口对象是一个C++ CWnd类(或派生类)的实例,是程序直接创建的。在程序执行中它随着窗口类构造函数的调用而生成,随着析构函数的调用而消失。而Windows窗口则是Windows系统的一个内部数据结构的实例,由一个“窗口句柄”标识,Windows系统创建它并给它分配系统资源。Windows窗口在MFC窗口对象创建之后,由CWnd类的Create成员函数创建,“窗口句柄”保存在窗口对象的m_hWnd成员变量中。Windows窗口可以被一个程序销毁,也可以被用户的动作销毁。

STL = Standard Template Library,标准模板库,惠 普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL现在是C++的一部分,因此不用额外安装什么。

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。追问

意味着MFC中包含API,STL是C++标准的一部分吗?

追答

API是统称,所有的库函数、接口都成为API。
MFC是在C++底层的基础上又封装了一层。
STL是C++的标准库。

追问

那SDK呢?

追答

软件开发工具包(外语首字母缩写:SDK、外语全称:SoftwareDevelopmentKit)一般都是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。

温馨提示:内容为网友见解,仅供参考
无其他回答

MFC数据库和STL的区别?
MFC是微软的基本类库,封装了非常多的底层API,包括窗口操作、文件操作、SOCKET等以及一些辅助类例如CString和一些模板类CList、CArray等。同时提供了DOC\/VIEW的程序框架,并构造了消息的处理线路。以下内容来自百度百科:而STL是StandardTemplateLibrary,标准模板库。从根本上说,STL是一些“容器”的集合,这...

C++和MFC类库的不同
C++的类库分很多种,stl是标准类库,编译器都会支持这个库的,mfc是微软对win32API用C++进行的封装,只有在mfc程序中才能用。也就是说你编mfc应用程序的时候可以调用stl库,而在其他的编译环境中mfc类库是不能用的。C++哪有那么好学的,你学两个月感觉收获不大也是正常的,楼主继续努力吧。

MFC和C#的关系?。
MFC和c#没关系。要一定说有关系,那么只能说都是微软的。MFC是一套c++的库。是ms为了简化vc开发而提供的。要知道,c++本身是没那么多库文件的,它只提供了最核心的语言的一些功能。例如字符串,容器,哈希等等这些工具,实际都是没有的。所以,若干组织或者厂家,用c++编写了很多的库。MFC就是其中之一...

c++ 的 stl windows sdk mfc wtl 这几个部分应该怎么学习啊
2.STL是C++的标准库,基于模板技术,结合泛型设计思想,是一套学习C++本身的很好的库,但需要很好的C++语言功底。在一般的C++书籍中,都会有STL的章节,不过一般只是讲如何应用它。在学习数据结构的时候,结合STL来学习容器和算法,再好不过,推荐书籍《STL源码剖析》(侯捷),如果你觉得需要掌握更深层次...

如何在MFC里用STL??
include <vector>后 你可以直接 using namespace std;但是这样生成的文件会比较大,因为把标准库都带进去了 还有一种方法就是在使用的时候 加上std::比如 std::vector<int> ivec;这样呢...在写代码的时候又比较麻烦了。

MFC能做什么?
以前没有MFC开发Windows程式是直接用Win32api,缺点是WIndows程式有固定的格式,即使是很简单的程序也要很多代码,而有了MFC之后就把这些琐碎的工作全部交给MFC来完成了,这样程序员的工作就轻松多了

学C++多久会有效果
API还是MFC,都得学但有侧重,立志成为高手非API不可,实用主义者学MFC5万行?我不得不说,实践很重要,其实只要你设计完程序,在实际编写时,不会再屏幕面前没思路,并且出错时,能在一个你满意的时间内处理。这就是最低标准 多久会有效果?c++可不能包打天下,c++作为一种语言以及c\\c++标准库,只能做数学计算,内存...

简述stl格式的优缺点
精通STL后,可以自己用模板去设计实现自己的算法和数据结构。STL缺点:STL和其他的类库的接口不太方便。例如在VCL和MFC中,都有自己的string类型,CString和AnsiString,其余接口如果使用字符串,肯定是使用自己的原生类型,然而为了设计可移植的程序,有可能将平台独立的部分用STL实现,这样导致了在两部分合作...

用MFC能编大型软件吗
1)开发环境VC是可以开发大型软件的;2)MFC只是VC环境下的一种类库,还有其他的库,如STL也是可以使用的,STL移植性会更好些;3)还包括其他的第三方的库;4)还有操作系统底层的API库等(MFC就是基于操作系统底层API库);因此学习VC++开发,包括大型软件的开发,需要涉及的管理和技术、业务等方面的...

MFC是做啥用的,和C C++ VB 有啥区别,不要复制百科里的一大堆来,,,最...
随工具提供了很多C++类库,VC是微软提供的C\\C++开发工具,VC是visual studio的一部分,它提供了很多类库,MFC就是其中之一,说了这么多,就一句话MFC是微软提供的一个基础类库,这个类库是用C和C++写的,封装了基本上常用的windows api函数,使我们开发windows程序更容易。

相似回答
大家正在搜