千家信息网

C++框架该如何正确理解

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇文章为大家展示了C++框架该如何正确理解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C++编程语言中,有很多比较重要的内容值得我们去深入研究。这些基础内
千家信息网最后更新 2026年11月03日C++框架该如何正确理解

本篇文章为大家展示了C++框架该如何正确理解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

C++编程语言中,有很多比较重要的内容值得我们去深入研究。这些基础内容的理解不但能帮助我们掌握C++,而且还能对其他语言的学习或多或少的有些帮助。

框架,在英文中叫做Framework。应用程序框架就叫做Application Framework。现在是framework满天飞的时候,你没有听过框架,但是你肯定听过.net framework这个词。否则微软的广告就做的太水了。当然,.net framework是为了.net,其实主要是C#来做的,很多同学说,C++也可以啊,用CLR的C++就可以,不过带CLR的C++还是C++吗,而且既然用了CLR,为什么就不干脆来用C#呢?不过这个只是顺便一说,因为我也没有研究过CLR,也没有用过CLR下的C++,没有研究,没有发言权。还是来谈谈C++下面的framework。

首先,要清楚的是没有framework,我们能不能做开发,做应用。想想是可以的哦。在没有framework的时候,我们直接调用函数,完成功能。just simple。

然后没有framework和有framework,到底有什么区别。***的区别就是,没有framework的时候,是我们call函数,而有framework的时候,是framework来call我们。

比较老牌的C++的framework,应该就是MFC了,MFC的全称为Microsoft Foundation Class,也就是微软基础类库,那不还是类库吗?好像没有提到framework啊。不过你细看里面函数的话,可以看到很多函数的前缀为Afx,Af也就是Application Framework了。

那C++的STL,全称为Standard Template Library,也就是标准模板库,它是不是C++框架呢?我们看看它提供了些什么,它提供了字符串类,输入输出流,各种数据结构,以及算法。这些都是在我们的程序中,被我们调用来完成功能的,从我的观点,它不能算是框架,而只是一套类库。

那MFC呢,为什么它算是C++框架呢?首先提起MFC,想到的是什么。应该是界面吧。MFC提供了包括static,editbox,button,radio,list,tree等等控件,但是单单就是界面吗?当我们点击按钮时,它会执行动作。这里面原来还绑定了函数。同时我们在对应的函数中写下比如一个MessageBox,那到时候就会执行,显示出这个消息框。这一切都是MFC在里面做,我们所需要做的,就是拖一个按钮过来,加上对应的Buttonclick事件,然后在对应的函数中加上对应的实现就可以了。

原来framework就是,在我们写我们的软件之前,就将整个的执行流程给我们规定好了,我们在规定的点填空,然后就可以完成应用了。比如我在2009年写一个软件,但是MFC是在2000年(其实不是哈,举例而已)就完成了。它怎么知道我要完成什么,然后再来调用我写的这些函数,最终完成功能。

其实现在一般来实现框架,都是使用了面向对象技术,也就是我们常常听到,听得耳朵都生茧了,其实还没有太明白的运行时绑定,也就是面向对象中封装,继承,多态中的多态行为。但是MFC那时,由于性能的原因,用虚函数比较少,主要用宏(在侯捷老师的书中叫做巨集,其实是一个东西)来完成,不过还是很多地方使用的虚函数。这个看深入浅出MFC来了解具体的原理吧。

作为framework,只需要定义一个superclass,然后你需要实现的时候,继承这个superclass,无论是类,抽象类还是接口,然后实现它,这样framework不需要知道你,它只需要知道superclass就可以运行了。而且是它来调用你。

其实这两天想了一下,除了面向对象之外,我们C系统中用回调函数,其实也就是函数指针,不也是用来实现让其他人来调用,自己来实现被调用的部分吗?哦,其实也就是现在常常提到的控制反转(还是依赖反转)?不过C和C++的世界中,这些名词提得比较少,一下子没有联系起来。

不过MFC完成的东西很多,windows消息的封装,消息映射和消息路由是一部分,同时它也提供了CString等类给我们来使用,还提供了Document-View,还提供了序列化等等东西。

另外有名的C++框架,好像有个重量级的网络开发框架叫ACE的,但是没有了解过,仅仅是知道有这么一个东西。

linux算不算框架,从现在linux的驱动开发,使用模块来进行开发的角度,似乎也可以认为这一套算是一个框架,只要注册了模块,那它就知道,也可以来调用。

另外,有插件机制的软件,算不算框架?

我知道的有插件机制的软件,比较古老的有Winamp,现在的有firefox,以及thunderbird这些Mozilla出的系列软件,eclipse等,这些中eclipse肯定算是框架了,其他呢?

另外C++中,Qt,wXwidget等等,尽管没有用过,但是应该也算是C++框架,而且是跨平台的。

写了一些东西,但是比较的乱,而且可能有些意思也没有表达清楚,有空我还可以再整理整理,问题很大,对于框架,还有很多要去学的。模式都没有学好,也没法去把框架谈好。

上述内容就是C++框架该如何正确理解,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

框架 C++ 函数 也就是 就是 还是 东西 时候 软件 内容 消息 开发 功能 对象 应用 研究 多态 清楚 全称 只是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡豆 百单网互联网科技有限公司 云之行互联网科技 高科技互联网 有马互联网科技 互联网科技视频 新华互联网科技2019 哈尔滨新华互联网科技学院 须眉科技是互联网公司吗 银川新华互联网科技职业技术培训学校图片 岳阳华臻互联网科技有限公司 为客找房互联网科技公司怎么样 美国互联网科技实力 2021互联网科技公司排名 黑云互联网科技有限公司 长沙渺峰互联网科技有限公司 深圳互联网科技园地址 互联网领先科技成果宣传视频 北京瑞云互联网科技有限公司 互联网科技快速发展优美句子 中关村互联网 科技集团 互联网金融与金融科技 镁科技互联网资讯平台 老年人脱离互联网科技的作文 深圳国际航运科技和互联网 银川新华互联网科技职业技术培训学校图片 华夏互联网科技业 半导体行业属于互联网高科技类吗 科技发展第三阶段互联网时代 广州全民伙伴互联网科技有限公司
0