今天写代码的时候在一个DLL模块编写了一个模板的单体类,但是发现在该DLL的执行代码和调用该单体类的代码分别构造成了自己的对象,为啥?单体类不是只有一个吗?我仔细分析了一下,原来是调用方模块根据已有的完整源代码(因为模板必须是写在头文件里),导致各自都有自己的实现,从而实现了再一个应用程序中每个模块都一个完整的单体,好厉害啊!!!所以在这里特别要提醒各位看官,以后在模块里写单体代码的时候,要记得导出,保证整个应用程序中只有一份代码,这样就不会出现这种恶心的问题了。
当然这个方法也是实现每个模块都会有一个单体的方法!!!
在编写模板单体类时,应注意导出代码,确保整个应用程序中仅存在一份代码实例,避免多个模块各自拥有完整实现的问题。本文详细解释了这一现象,并提供了预防措施。
523

被折叠的 条评论
为什么被折叠?



