哪一个使用c++;stl容器还是MFC容器? 对于每个STL容器,VisualC++中都有一个MFC容器,它在哪个意义上比另一个更好,你使用什么?

哪一个使用c++;stl容器还是MFC容器? 对于每个STL容器,VisualC++中都有一个MFC容器,它在哪个意义上比另一个更好,你使用什么?,c++,visual-c++,mfc,stl,containers,C++,Visual C++,Mfc,Stl,Containers,我总是使用STL容器,这不对吗?由于可移植性,我总是更喜欢STL容器 MFC容器在Linux上几乎永远不可用 即使你不打算在Linux上使用你的代码……你也永远不知道未来会发生什么。STL的。严肃地说。人们已经指出代码的可移植性是使用STL的一个原因,但还有一个更好的原因,也是更符合您自身利益的原因:技能和经验的可移植性。在我看来,当你去寻找你的下一份工作时,简历上有STL经验会给你更多的机会。为什么?STL是标准C++的一部分,如果我在招聘,我会认为有人知道STL可以很快地拿起MFC容器,但如

我总是使用STL容器,这不对吗?

由于可移植性,我总是更喜欢STL容器

MFC容器在Linux上几乎永远不可用


即使你不打算在Linux上使用你的代码……你也永远不知道未来会发生什么。

STL的。严肃地说。

人们已经指出代码的可移植性是使用STL的一个原因,但还有一个更好的原因,也是更符合您自身利益的原因:技能和经验的可移植性。在我看来,当你去寻找你的下一份工作时,简历上有STL经验会给你更多的机会。为什么?STL是标准C++的一部分,如果我在招聘,我会认为有人知道STL可以很快地拿起MFC容器,但如果我在寻找STL技能的人,我不一定会做出相反的假设。请访问STL&Boost(www.Boost.org)。

即使他们向您显示MFC容器速度更快的数字,也可以免异常,免费制作双份浓缩咖啡:只需闭上眼睛并使用DEL键(也称为无锁定键)


您可以以道具解决方案只能梦想的可插拔方式,以更便携的方式完成所有这些任务。STL始终..

如果您在MFC领域内工作,MFC集合类确实有一些优势。例如,您可以获得序列化(如果您的容器元素继承自CObject或类似的内容)和一些“免费”调试支持。MSDN详细说明了如何在不同的MFC集合类型之间进行选择[此处](

不过默认情况下,我倾向于使用STL类。

当然,团队会给出同样的答案。MFC集合类只用于向后兼容。C++有一个集合类的标准,也就是标准C++库。在MFC应用程序中使用任何标准库没有技术缺陷。 我们不打算在这方面作出重大改变

罗纳德·莱曼斯 代理产品部门经理 C++团队
"我使用STL容器的原因有很多:它们经过了充分的测试,文档化,并且被人们所理解。它们也在不断改进:看看Boost添加的所有新功能,而且它们都是向后兼容的。如果你真的想要改变你的想法,请阅读Alexandrescu的现代C++设计:泛型程序设计。应用了ng和设计模式。需要使用Boost和STL来使用他的许多技术


另一个要考虑的是<强> S/<强> TL是“<强> S RANDARD”,但<强> M< /强> FC只是“<强> M< /强> ICOROSOFT”任何随机的通用C++编码器都可能理解STL,但是只有一个老的微软编码器知道MFC。此外,微软已经非常废弃的MFC。< /P>它是什么意思?被转储。在你引用的URL中提到的,它基本上是一个调试漂亮的打印。YAGNI。如果你正在编写一个MFC应用程序,你就不写一个便携应用程序。但是你是否编写了一些非UI类来支持你的应用程序。也许你以后会在另一个不使用MFC的项目中重复使用它们,并且也应该在Linux上运行。这应该是显而易见的,可移植性,在行业标准中定义,在每个实现中都可用(标准兼容)等等…是的,stl还是更好。我非常讨厌mfc容器。