c++ - 在运行时以最少的开销禁用 c++ 代码的最佳方法是什么
问题描述
** 非常新手设计师在这里......但喜欢讨论和制定可能的最佳解决方案!:)
动机:我想添加一个跟踪库,它需要在一个复杂且高性能的基于颠覆性需求的项目中是可选的。
我正在考虑使用 std::optional 来传播其数据结构。
我无法找到启用和禁用此库的最佳解决方案,以便它对正在运行的系统产生最少的开销,我对如何实现它有一些想法:
- 一般,布尔检查
if(library_enabled) {
//do library stuff
}
- 将所有函数定义 + ptrs 设为 null 并将所有非可空值(int、double 等)转换为 char
f(library_enabled) {
ptr func(arg 1, arg 2) {}
} else
void func(null) {}
考虑到性能,我们能想出一些更好的方法来解决这个设计问题吗?
解决方案
推荐阅读
- wordpress - 如何使用带有 Timber/Twig 的 ACF 选项页面字段在 WordPress 中输出有效的 [短代码]
- azure - 如何将“systemProperties”添加到 IOT Central 消息
- redux - 我需要等待异步 Redux Thunk(不是 Promise)吗?
- python - Kivy-ios 上的 PYTHON_EGG_CACHE
- excel - 将 imageMSO 添加到自定义功能区组
- nlp - 将信息连接到特征向量时如何使用预训练模型
- go - 无法查询外部 BigQuery 表
- django - 用等效+装饰子类替换 Django 模型类的正确方法
- java - 读取文件后如何创建队列?
- php - foreach in foreach in if blade php