在头文件中包含 STL 是坏主意还是好主意?其中您将它们用作您自己定义的类的成员变量。
我的假设是,有些人真的希望他们创建的库非常独立于 C++ 标准库。因此,他们被迫再次重写类似于 C++ STL 中可用功能的类型,而其他人则试图在他们的头文件中转发声明他们以后需要的类型。其他人认为这是一种不好的做法,根本不是一个好主意。
如果我错了,请纠正我(我不太了解,这就是为什么一切都只是一个假设):
那么,在向前声明 STL 上可用的类型时,代码可移植性(对于那些真正希望他们的代码独立于平台的人)有什么影响?(我只知道
vector
MSDN 建议的类型可以向前声明但不能保证随时工作)。如果我在头文件中包含 STL,可能存在什么问题?这会影响我的代码的可移植性吗?
如果我在我的 DLL 的头文件中包含 STL 并将该 DLL 带到其他计算机中,我会遇到什么问题?
而且,你能告诉我为什么我应该(不应该)在我的标题中包含 STL 吗?