QTL or STL

声明:本文由risent翻译自http://blog.codeimproved.net/2009/12/qtl-or-stl/ ,由于水平所限,任何翻译错误欢迎留言指教。
首先,讲一小段历史:当我开始用Qt来工作的的时候我有STL/Boost的背景,同时已经习惯使用STL容器和字符串。我工作的第一个Qt项目是移植一个大规模的C++系统到Linux上来,项目的方法是使用:Qt严格的局限于UI,同时STL,Boost和其他的库用在所有的事情中。
在那个时候,我甚至不知道这里还有一个QTL,同时我在任何地方漂亮的使用std::(w)string。经过从事了更多的Qt项目,我现在在任何地方使用QTL同时对这两个库拥都有了广泛的经验。我的结论是在这个比较中这里没有明显的获胜者,同时这个选择将是十分复杂的依赖于项目的类型,转换其中的一个库到另外一个往往会一起一些微妙的麻烦。
Containers
STL和Qt在容器上有着不同的哲学:
STL

容器是非常参数化和追求最快的速度的
对每个容器都有性能保证
每一个实现都能够使用适合的copy-on-write
自由,泛型函数是首选的成员函数
有多个容器的实现,就像有多个标准库的实现一样
..同时这些实现不是二进制兼容的,但是他们必须服从 C++标准.这包括接口和性能保证
每个实现都是自由任意的去做优化,只要尊重标准
提供正则迭代器

Posted in: C/C++, Qt by risent No Comments ,