gpt4 book ai didi

c++ - 显式模板实例化的 gcc 问题?

转载 作者:搜寻专家 更新时间:2023-10-31 00:22:55 25 4
gpt4 key购买 nike

据我了解,特化的声明或 typedef 应该会导致模板类被实例化,但这似乎不会发生在 gcc 中。例如。我有一个模板类,template class Foo {};

我写

  class Foo<double>;  

typedef Foo<double> DoubleFoo;  

但编译后生成的目标文件的符号表不包含 Foo 的成员。

如果我创建一个实例:

Foo<double> aFoo;  

那么符号当然就全部生成了。

有没有其他人遇到过这种情况和/或有解释?

最佳答案

显式实例化的语法是

template class Foo<double>;

参见 C++03 §14.7.2。

希望生成和链接函数,但在创建但不使用实例(最小隐式实例化)之后不剥离,这是一场赌博。

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

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