c++11 - 单独的一次性代码路径

标签 c++11

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

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

运行时继承(无虚拟继承)是一个公平的解决方案吗?我不想在很久以前修复类型时浪费大量性能进行虚拟查找。不仅如此,还让我担心无法内联函数以及它是否会影响 RVO 和 NRVO 等。是不是我太在意这个了?

最佳答案

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

关于c++11 - 单独的一次性代码路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4526679/

相关文章:

c++ - 模板参数类型名与非类型名之间的区别?

c++ - 使用模板的事件处理

c++ - 类成员 - 对于外部世界来说是 const,对于类来说是非常量

c++ - 免费 C++11 IDE 的建议

c++ - 为什么返回类型在函数名之前?

c++ - 如何使用 boost::program_options 创建选项别名?

c++ - 不能取值对象 - C++

c++ - qt 应用程序和 std::shared_ptr

C++11 非静态成员初始值设定项和已删除的复制构造函数

C++:不可变方法版本