13.1 为什么没有使用STL?

首先,我们来回答一个关于wxWidgets的数据结构类问的最多的一个问题:"为什么它们不采用基于STL(标准模板库)的实现?".最主要的原因是历史原因:wxWidgets从1992年就存在了,这比可以稳定而可靠的支持跨平台交叉编译的STL库要早很久.不过随着wxWidgets的发展,它的许多数据结构类已经拥有了一个和标准STL非常相似的API,希望有一天,wxWidgets中的某些数据结构类可以实现完全的STL兼容.

尽管这样,你还是可以在你的wxWidgets应用程序中使用STL,这需要你将setup.h中的wxUSE_STL置为1(或者在配置wxWidgets的时候使用enable-stl选项),以便使得wxString和别的容器类使用等价的STL实现.不过需要事先声明,在 wxWidgets中允许STL将加大wxWidgets库的大小,并且将延长wxWidgets的编译时间,尤其在使用GCC的时候更加明显.