gpt4 book ai didi

c++ - 指向多次实例化的函数模板的指针

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:21:58 29 4
gpt4 key购买 nike

我有一个与函数模板相关的简单问题。假设我有一个 header ,其中包含一个带有名为 f 的模板方法的类:

class test
{
public:
template < class T > void f(T t) {}
};

如果此 header 包含在多个 .cpp 文件中,并且这些 .cpp 中的每一个都使用相同的类型(假设为 int)调用 f,我可以在其他地方获取函数的指针吗代码?考虑到可能有多个定义,链接器会只保留一个吗?

最佳答案

If this header is included in several .cpp files, and each of these .cpp calls f with the same type (let's say int), can I take the pointer of the function somewhere else in the code?

是的,您可以获取模板函数的特定实例化的地址。

Considering there are potentially several definitions, will the linker keep only one?

这是一个实现细节。
我敢打赌大多数实现都会尝试删除重复项,但我认为只要行为一致就没有要求。

关于c++ - 指向多次实例化的函数模板的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36421492/

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