Windows上的模板有什么问题?解决方案是什么
What are the problems with templates on Windows? What are the solutions?
我在Linux上,并尝试编写跨平台代码。我知道模板很难在Windows上正确使用,但我不记得这些细节。
我确实知道一个问题与跨越dll边界的模板调试和模板有关,但如何解决该模板 - 或者甚至可以解决问题。
我相信还有其他问题,但是我只发现了对它们的模糊引用。
so:Windows上的C 模板有什么问题?除了不使用模板,其他解决方案是什么?
编辑:也许问题仅在于STL
,而不是使用模板?
两个引号:
您无法在没有明显头痛的情况下在窗口上跨库边界上的STL呼叫。
和
封装是必须的,我完成了一些在dll边界上使用STL容器以及Windows上的静态库进行的项目,而无需封装就无法使用。
我知道模板很难在Windows上正确使用。
我从未听过这样的事情。听起来像是毫无根据的,我建议您完全忽略。
这是一个问题,来自MS KB( edit:这个仅与MSVC 5和6有关;我没有意图支持这种古老的编译器,所以这与我无关):
一些STL类包含嵌套类。这些课程无法导出。例如,Deque包含一个嵌套的Deque :: Iterator。如果您导出Deque,您将获得警告,必须导出Deque :: Iterator。如果您导出Deque :: Iterator,则会警告您必须出口Deque。这是由设计的限制引起的,即一旦实例化了模板类,就无法重新实现和导出。目前唯一可以导出的STL容器是向量。其他容器(即,地图,设置,队列,列表,deque)都包含嵌套类,无法导出。
相关文章:
- Project Euler问题4的错误解决方案
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 无法在问题解决方案中执行输出逻辑
- 最大的回文产品 - 程序未运行,编写解决方案但无法理解问题
- N-queen问题:无法弄清楚为什么我的解决方案不起作用
- 在Visual Studio 2017中使用c ++组件构建python解决方案时出现问题
- 此解决方案中生成更改的方法数量(自上而下)有什么问题?
- 错误LNK2005无法解决问题的解决方案
- 对于非常大的输入,缺少和重复 1..n 的数字数组.使用1..n系列特性的解决方案.溢出问题
- win10 尝试在我运行它时寻找问题的解决方案
- 人们如何提出按位问题的解决方案?
- 这个餐饮哲学家问题(dpp)的解决方案是如何工作的?互斥体和信号量
- "sum root to leaf numbers"问题的解决方案
- nqueens问题的C 递归解决方案无法正常工作
- 我的构建二叉树解决方案有什么问题?
- Windows上的模板有什么问题?解决方案是什么
- 商业申请许可问题和LIBPCAP应用程序的解决方案
- 在 SPOJ 上解决 JUICE 时,此解决方案有什么问题?
- 简单程序没有输出和崩溃.我的解决方案有什么问题
- 宿醉 spoj,解决方案中有什么问题