最近学习MFC时发现MFC也有自己的集合类,这种MFC的集合类与STL在性能上有什么区别吗,或者说我们在写MFC程序的时候最优选择的是哪个?问题有点傻,我知道Microsoft既然在有自己的STL版本的情况下又实现了MFC的集合类,当然有它的道理,但是我发现MFC集合类有很多缺点,包括它一般需要传递两个模板参数的类型,以其一些古怪的保留C风格的辅助函数,都令我很困惑,谁能解释一些MFC集合类与STL的这种区别吗?

解决方案 »

  1.   

    首选stl,这个是c++标准,跨平台,性能好,便于移植
      

  2.   

    除了界面上的东西以及系统api调用,还用mfc,其它的一概不用网络、数据库、线程、文件、内存,这些都有跨平台解决方案
      

  3.   

    谢谢楼上,我的意思是,mfc程序本身就不能跨平台,加入stl也不能跨平台呀。
      

  4.   

    首先mfc的set不是标准,stl是c++的标准库,有标准的东西为什么不用,难保以后不跨平台?另外set我没有测过,但总体上,stl的实现要比mfc性能高
      

  5.   


    MFC 是微软若干年前的产品;
    STL 是 C++ 标准的一部分,是后来加进去的,原来的 C++ 标准中没有这东西。
      

  6.   


    MFC 是微软若干年前的产品;
    STL 是 C++ 标准的一部分,是后来加进去的,原来的 C++ 标准中没有这东西。