2011-02-15 64 views

回答

9

您所切换的数据类型取决于。如果它是一个密集的int范围,则使用存储函数指针的查找表。在其他情况下,使用从切换值到功能指针的std::map

2

我会说切换不是问题。

你的分支之间有很多代码重复(我想你还有类似395的东西),所以你应该能够通过抽象出通用部分来缩小你的DLL;唯一的区别是您正在检索哪个字段以及您使用它执行的计算。如果您的代码与您发布的代码完全相似,那么绝大多数代码可以在分支之间共享。
如果你的编译器没有对字符串进行任何合并,所以你有几个查询模板的实例,这也没有帮助。

将所有条件,数据库查询和字符串连接因子分解为函数,并查看需要的地方。

无论如何,您应该这样做,因为它会使维护和进一步扩展变得更容易。

0

开关盒的大小和Dll的大小应该没有直接关系。除了编译器提供的defalut优化选项外,唯一可以控制大小的方法是减少通用代码并正确使用STL

相关问题