我已经读过最好有内部链接(对于变量,自由函数等),因为这会减少从特定编译单元“导出”的符号数。这样建立时间可能会更好。
这是真的吗?
使用内部链接的另一个好处是名称冲突不会有任何问题。
答案 0 :(得分:1)
理论上是的,但是...... C ++演变为通用编程。名称空间的引入限制了名称冲突问题。
以单独的cpp文件的形式从“headr only libraries”的形式编写程序总是更频繁,这个cpp文件只包含一个main,其目的是实例化一个负责所有业务流程的“manager对象”,并提供一个最后逃脱的例外情况“赶上”。通过“预编译头”可以使长符号表更快。
从这个意义上讲,所有联系都是“内部的”,因为没有什么可以“导出”。
更一般地说,很少的外部链接导致更快的链接时间,很少的内部链接导致更快的编译时间。当内部和外部表格相互平衡时,最有可能的最小值。但还有许多其他重要因素需要处理。
我想知道这样的书是否仍然可以被认为是今天标准的“好”:你是否注意到它所建议的例子 - 关于迭代器的例子,除了今天的标准库以外什么都有?