我正在用 C++ 实现一个 DLL,在我的库中我有一个包含模板方法的类。例如
class A : public IA
{
public:
A() { /* constructor stuff */ }
template <typename T> void foo { /* foo does stuff */ }
};
现在,由于模板是在编译时解析的,如果我从未在我的库中调用foo但它只在使用该库的项目中被调用,会发生什么?据我了解,当我编译 DLL 时, foo 不会以任何类型保存在虚拟方法表中,因此,目标项目中的调用可能会导致某种意外行为。任何人都可以确认这一点并更详细地解释它吗?谢谢