gpt4 book ai didi

c++ - 重复的c++模板实例化

转载 作者:行者123 更新时间:2023-12-02 10:28:18 25 4
gpt4 key购买 nike

编译器是否可以跨多个翻译单元复制同一模板的实例化?

例如,如果您有一个在函数内部使用std:vector<int>的a.cpp,而对于b.cpp同样如此,那么在最终的二进制文件中是否有两倍std::vector<int>的风险?

最佳答案

正如Sharpothoth所说,最终的二进制文件将只包含一个实例。但是,每次在编译单元中遇到模板时,模板仍将被实例化。如果要提高编译速度,在C++ 0x中,我们可以得到extern template。它的作用类似于普通的extern变量,因为它必须在至少一个编译单元中指定,但是编译器不会在此单元中实例化模板。有关更多信息,请参见herethis draft(14.7.2 [temp.explicit])。

关于c++ - 重复的c++模板实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63356879/

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