gpt4 book ai didi

c++ - 整个 C++ STL 代码包含在 .h 而不是 .cpp/.c 文件中的原因是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:59:05 24 4
gpt4 key购买 nike

我刚刚下载了 STL 源代码,我注意到 STL 模板类的所有定义都包含在 .h 文件中。函数定义的实际源代码位于 .h 文件中,而不是 .cpp/.c 文件中。这是什么原因?

http://www.sgi.com/tech/stl/download.html

最佳答案

因为很少有编译器实现模板的链接。很难。

这是一篇关于它的简短但(我认为)信息丰富的文章:http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=53

我说“我认为”是因为除了广泛未实现之外,我真的不是很熟悉它。我最初说标准不需要它,但查看 C++03 中“导出”的定义,我没有看到任何迹象表明它是可选的。也许这只是一个失败的标准。

关于c++ - 整个 C++ STL 代码包含在 .h 而不是 .cpp/.c 文件中的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1733112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com