单独的一次性代码路径

时间:2010-12-24 13:51:07

标签: c++11

我正在实现一个具有不同代码路径的应用程序,这些代码路径应在启动时选择一次,然后永久固定以执行该执行 - 例如,选择D3D11或D3D9渲染路径。

显然我不想复制我的所有其他代码。

运行时继承(没有虚拟继承)是一个公平的解决方案吗?在很久以前修复类型时,我不想浪费大量性能进行虚拟查找。不仅仅是这样,而且让我感到紧张的是,功能无法内联,以及它是否会影响RVO和NRVO等。我只是过分担心这个吗?

2 个答案:

答案 0 :(得分:2)

我决定,因为路径的数量是最小的,我将它们编译为DLL并加载,例如D3D9Main(),它将使用预处理器进行编译,以便在编译时选择类型。比使用模板容易得多,比使用继承更快/更容易。

答案 1 :(得分:0)

您可以使用"Modern C++ Design"中描述的通用组件,但我不确定这是否是您要找的。