c++ - DLL 类 C++ 中的模板方法
问题描述
我正在用 C++ 实现一个 DLL,在我的库中我有一个包含模板方法的类。例如
class A : public IA
{
public:
A() { /* constructor stuff */ }
template <typename T> void foo { /* foo does stuff */ }
};
现在,由于模板是在编译时解析的,如果我从未在我的库中调用foo但它只在使用该库的项目中被调用,会发生什么?据我了解,当我编译 DLL 时, foo 不会以任何类型保存在虚拟方法表中,因此,目标项目中的调用可能会导致某种意外行为。任何人都可以确认这一点并更详细地解释它吗?谢谢
解决方案
推荐阅读
- c++ - 不能在另一个类中的迭代器类中制作 operator<<
- python - 编辑管理首页的模板
- reactjs - 反应中具有布尔值的useState
- kubernetes - 想要在 Kubernetes 上参数化 cronjob 调度
- python - 如何解决此错误:ValueError: no enough values to unpack (expected 4, got 3)?
- css - 使用 flex 我需要在垂直方向创建一个水平 div 和下面的 div
- ruby-on-rails - 一键在 Rails 应用中创建多条记录
- appkit - NSOutlineView 默认使用 `autosaveExpandedItems` 展开项目
- php - 使用 NodeJS 进行 RSA PKCS#1 加密
- c - 孩子没有执行“scanf”功能